在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Python  HTML/ Beautiful Soup取值問題

Beautiful Soup取值問題

<span data-original-name="杜克大學(xué)藍魔鬼男子籃球隊">杜克大學(xué)藍魔鬼男子籃球隊</span>

<span data-original-name="未知">未知</span>

用Beautiful Soup庫怎么把 杜克大學(xué)藍魔鬼男子籃球隊給取出來呢


現(xiàn)在想通過谷歌搜索英文關(guān)鍵字,取結(jié)果頁右面推薦翻譯 。
如下圖:圖片描述

代碼如下:


# -*- coding:utf-8 -*-

import requests,sys
from bs4 import BeautifulSoup

reload(sys)
sys.setdefaultencoding('utf8')

#<span data-original-name="杜克大學(xué)藍魔鬼男子籃球隊">杜克大學(xué)藍魔鬼男子籃球隊</span>

url = "https://www.google.com.hk/search?safe=strict&hl=zh-CN&ei=l_7rWrznFMPEjAP05IUI&q=Duke Blue Devils"

header ={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}


def res():
    # 請求數(shù)據(jù)
    r = requests.get(url,headers =header)
    # 解析
    soup = BeautifulSoup(r.content, "lxml")
    
    #通過輸出發(fā)現(xiàn) ,杜克大學(xué)藍魔鬼男子籃球隊這個結(jié)果在下面列表里,但是每次順序不固定
    a = soup.find_all('span')
    for i ,v in enumerate(a):
        print i,a[i]
        
    # 通過這個倒是可以取出來,但是 事先并不知道中文翻譯 ,就是要取這個中文翻譯
    print soup.find_all('span',attrs={"data-original-name": "杜克大學(xué)藍魔鬼男子籃球隊"})


if __name__ == '__main__':
    res()

圖片描述

回答
編輯回答
安于心

學(xué)習(xí)這類框架,要去詳細(xì)研究官方api,不要過于依賴第三方工具。這樣可以增加效率。你的問題,可以這樣解決,例如:

head_tag = soup.head
head_tag
# <head><title>The Dormouse's story</title></head>

head_tag.contents
[<title>The Dormouse's story</title>]

title_tag = head_tag.contents[0]
title_tag
# <title>The Dormouse's story</title>
title_tag.contents
# [u'The Dormouse's story']

我之前學(xué)習(xí)使用的文檔:Beautiful Soup 4.2.0 文檔

2017年1月16日 22:34
編輯回答
大濕胸
 用正則解決了,bs4還是不熟悉

# 請求數(shù)據(jù)
r = requests.get(url + list1[i],headers =header)
# 正則取值
reObj = re.findall('<span data-original-name="(.*?)">',r.content)
2017年1月26日 00:52