我正在使用美丽的汤从justdial.com提取Ngo信息我能够获取数据。但问题是它只取得了最初的10个项目。当在他们的网站上手动滚动时,我能够获得大约324加元。我使用了以下代码
from bs4 import BeautifulSoup
import requests
#url to fetch
url="http://www.justdial.com/Bangalore/ngos"
req = requests.get(url)
#Get the data from the requested source
data=req.text
#use Beautiful Soup to get data from the website
soup=BeautifulSoup(data)
但这只返回9项。如何获得所有物品?
答案 0 :(得分:1)
正如Rob所说,当您向下滚动时,该页面使用JavaScript加载更多NGO。使用请求获取html时不会发生这种情况。您有两种选择:
答案 1 :(得分:0)
这是因为,如果您查看正在发生的事情,网站会在您滚动时加载更多内容。如果你可以找到他们正在进行AJAX调用的地方(可能是在Javascript中),我建议模仿正在加载其他数据的调用。
这将带来额外的好处,让您直接获取数据,而无需与网页中间人打交道,您可能会获得尽可能多的数据。
答案 2 :(得分:0)
您可以检查这个jusr dail scraper,我已经编写了它,可以简单地更新URL和代码内部并运行代码以提取数据。
https://github.com/harsh4870/Justdail-scrapper
答案 3 :(得分:-1)
我认为你可以通过页面解析这个网址 http://www.justdial.com/functions/ajxsearch.php?national_search=0&act=pagination&city=Bangalore&search=Ngos&where=&catid=232578&psearch=&prid=&page=3 http://www.justdial.com/functions/ajxsearch.php?national_search=0&act=pagination&city=Bangalore&search=Ngos&where=&catid=232578&psearch=&prid=&page=4
和e.t.c