![](/img/trans.png)
[英]I am not able to find relevent data using soup.findAll() while doing webscraping using beautifulsoup
[英]Some HTML data is missing when I am trying to do webscraping using BeautifulSoup
这是我的代码,我试图从这个网站https://community.hackernoon.com/u/抓取数据
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"}
r=requests.get("https://community.hackernoon.com/u/",headers=headers)
c=r.content
soup=BeautifulSoup(c,"html.parser")
print(soup.prettify())
当我打印 soup.prettify() 时,缺少一些 HTML 代码,因为当我尝试从网站上查找作者的姓名时,在 HTML 代码中,它显示没有找到结果,我认为这就是为什么这个所有列表是在 output 中显示一个空列表
all=soup.find_all("div",{"id":"ember28"})
all
有人可以帮我看看有什么问题吗?
像您的示例这样的某些网站不会在第一次加载时加载所有数据。
在您的示例中,它首先加载网站库,然后使用 javascript 加载信息的 rest。 (您可以通过在浏览器中禁用 javascript 来进行测试)
您需要模拟浏览器(例如,使用 selenium)来执行网站 javascript,然后在加载数据后抓取数据。
尝试:
from bs4 import BeautifulSoup as bs
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import time
url = 'https://community.hackernoon.com/u/'
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.set_window_size(1024, 600)
driver.maximize_window()
driver.get(url)
soup=bs(driver.page_source,'html.parser')
time.sleep(3)
all_list=soup.find_all("span",{"class":"username"})
username_li = [user.text for user in all_list]
所有列表:
[<span class="username"><a data-user-card="daria" href="/u/daria">daria</a></span>,
<span class="username"><a data-user-card="alexcg" href="/u/alexcg">alexcg</a></span>,
<span class="username"><a data-user-card="daytona500-live-tv" href="/u/daytona500-live-tv">daytona500-live-tv</a></span>,
<span class="username"><a data-user-card="David" href="/u/David">David</a></span>,
<span class="username"><a data-user-card="kunalmishra" href="/u/kunalmishra">kunalmishra</a></span>
.
.
.
]
用户名_li:
['daria',
'alexcg',
'daytona500-live-tv',
'David',
'kunalmishra',
'Hackern00n457',
'm15o',
'mobphone22',
'KeyReel',
'msarica',
'jeffsoo2',
'bforgan',
'paulandre',
'kristinamulford24',
'hgcontent',
'anthony1',
'aydin.sakar',
'jeevansirela',
'abhikdeora',
'ce.roso398',
'michaeltgately',
'SweetHeartache',
'max',
'jgrossman28',
'alek.shnayder',
'derwiki',
'daniel.h.heyman',
'jmuller',
'Vadim',
'jessekorzan',
'PitBullCH',
'mbroudy4',
'kevin.pang.w',
'tnichols',
'arpy',
'list_startengine',
'pratik.ropia',
'davidyang',
'avantika',
'magneticmessages',
'ben',
'rob',
'doron',
'rich.kolasa',
'jjfleagle',
'B17Z',
'eugeniya.korotya',
'will.howard',
'colin',
'daniel.henrique.sc']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.