下面是我的代码
from bs4 import BeautifulSoup
import requests
headers = {"User-Agents":"googleBoat"}
r = requests.get('https://www.iiaonline.in/memberdetail.aspx?memid=11520',headers=headers)
soup = BeautifulSoup(r.text,'lxml')
company_name = soup.find('span',{"id":"unit"})
print(company_name.text)
请帮助我某人
答案 0 :(得分:1)
页面是动态的。
选项1:
使用Selenium
import pandas as pd
import bs4
from selenium import webdriver
url = 'https://www.iiaonline.in/memberdetail.aspx?memid=11520'
browser = webdriver.Chrome('C:\chromedriver_win32\chromedriver.exe')
browser.get(url)
r = browser.page_source
soup = BeautifulSoup(r,'html.parser')
company_name = soup.find('span',{"id":"unit"})
print(company_name.text)
browser.close()
输出:
print(company_name.text)
Anagram Development & Farmer Producer Co. Ltd.
选项2:
使用软件包requests-html 看来它可以捕获JavaScript渲染的一些文本,但是我从未使用过它,因为它与我经常使用的jupyter Notebooks和Spyder冲突,所以我会出错(并且过去使用Selenium很好) 。因此,您可以自己尝试一下,但是下面是文档中的示例。
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('http://python-requests.org/')
r.html.render()
r.html.search('Python 2 will retire in only {months} months!')['months']
输出:
'<time>25</time>'