所以我使用这段代码来获取: -
但我无法取得所有这些。它失败了一些标签以及整个文本没有意义,因为我拉动了标签的所有内容。
import requests
import json
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36'}
from selenium import webdriver
browser=webdriver.Firefox()
link=("https://www.google.co.in/search?rlz=1C1CHBD_enIN789IN790&ei=P4b9Wp4MxPP1A67gk-gI&q=%28%27United+States%27%2C+%27US+DOL+OASAM+-+OCIO%27%2C+%27200+CONSTITUTION+AVE+NW%27%29&oq=%28%27United+States%27%2C+%27US+DOL+OASAM+-+OCIO%27%2C+%27200+CONSTITUTION+AVE+NW%27%29&gs_l=psy-ab.3...44692.45689.0.46041.0.0.0.0.0.0.0.0..0.0....0...1c.1.64.psy-ab..0.0.0....0.DqJsrKbp_Js")
browser.get(link)
s=requests.get(browser.current_url, headers=headers)
soup =BeautifulSoup(s.content,'html.parser')
for i in soup.findAll("div", {"class": "s"}):
for k in i.findAll("span",{"class":"st"}):
print (k.text)
必需的样品输出:
OASAM联系人。 OASAM国家和地区办事处信息。国家>办公室:总部。助理国务卿办公室>管理美国劳工部200宪法大道,N.W ..套房S-> 2203。华盛顿特区20210.电话:(202)693-4040。传真:(202)693-4055。生意......
以上代码无法提取浏览器中显示的所有文字。只打印部分文字。
=============================================== ============================
同样,当试图从搜索结果中提取所有粗体文本时,我没有得到所有粗体文本。即使它们位于标签
所定义的相同附近,但很多都没有被取出for i in browser.find_elements_by_class_name("st"):
for k in (i.find_elements_by_tag_name("em")):
print (k.text)
print ("=====")
对于第一个链接,它应该打印(必需的样本输出): -
OASAM
OASAM
的
U.S。劳工部,新南威尔士州宪法大道200号,
答案 0 :(得分:0)
使用Xpath选择所有粗体文本。
.//*[@id='rso']/div[1]/div/div[3]/div/div/h3/a
以及
内的所有文字 .//*[@id='rso']/div[1]/div/div[1]/div/div/div[1]/div/span