仅获取标记名,而不使用python beautifulsoup获取文本
下面是我的代码仅获取标记名,而不使用python beautifulsoup获取文本,python,beautifulsoup,Python,Beautifulsoup,下面是我的代码 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('spa
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)
请帮我找个人页面是动态的
选项1:
print(company_name.text)
Anagram Development & Farmer Producer Co. Ltd.
'<time>25</time>'
使用
输出:
print(company_name.text)
Anagram Development & Farmer Producer Co. Ltd.
'<time>25</time>'
选项2:
print(company_name.text)
Anagram Development & Farmer Producer Co. Ltd.
'<time>25</time>'
使用软件包
它似乎可以抓取一些由JavaScript呈现的文本,但我从未使用过它,因为它与我经常使用的jupyter笔记本和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']
输出:
print(company_name.text)
Anagram Development & Farmer Producer Co. Ltd.
'<time>25</time>'
'25'
只有id:unit的跨距为空。您好,欢迎使用SO。对于“为什么该代码不起作用”类型的问题,您应该发布一个最小的、完整的、可验证的示例(cf)-在这种情况下,它应该包含r.text
-的内容,或者至少包含一个复制该问题的摘要版本。这样做,您可能会发现r.text
中标记的相关部分确实是空的,问题的原因是页面使用js加载内容。