我正在尝试从 geeksforgeeks 中为我自己的简单抓取和分析项目抓取数据。
我正在使用bs4
和requests
- python2
我需要抓取这个网址上的所有问题,所以我这样做,
ques_page = requests.get('https://practice.geeksforgeeks.org/explore/?page=1')
ques_soup = BeautifulSoup(ques_page.text, 'lxml')
get_ques = ques_soup.find('div', class_="panel problem-block")
该类panel problem-block
包含问题数据。
但是,当我查看刮擦时html
-print(ques_page.text)
根本不包含div
!
查看页面源代码(problemFeed
此 div 的Ctrl-F是所有问题所在的位置)
<div id="problemFeed" class="row" data-masonry-options='{"itemSelector": ".item" }'></div>
这div
是空的!因此我无法从中抓取任何数据!这怎么可能,因为我可以div
在控制台中查看其中的所有内容,但不能在页面源代码中或在抓取期间查看!
您可以通过 post 请求从 Ajax 端点获取它
data = {'page': 1, 'query' : 'page1'} # 2, page2...
ques_page = requests.post('https://practice.geeksforgeeks.org/ajax/practicePageAjax.php', data=data)
ques_soup = BeautifulSoup(ques_page.text, 'lxml')
get_ques = ques_soup.find('div', class_="panel problem-block")
print(get_ques)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句