Web scraping 刮取的源代码不完整-加载错误

Web scraping 刮取的源代码不完整-加载错误,web-scraping,python-requests,python-3.6,urllib3,Web Scraping,Python Requests,Python 3.6,Urllib3,使用requests和urllib3,我获取了的“不完整”源代码。源代码不完整,因为它只包含4个列出的项,而不是20个。查看结果源代码,我们发现以下提示是“加载”/分页问题(行号2191)。我设法获得的完整源代码可以在这里查看: 在费勒看来,这是一个新秩序,而不是一个新秩序。 翻译错误文本:未知错误,请重新加载页面或稍后重试 在该错误之后,将显示用于转到下一页的源代码。可悲的是,在第1页和第2页(共16项)之间存在着口吃 我试图找到一个解决方案,深入研究请求库和urllib3,以找到任何有帮

使用requests和urllib3,我获取了的“不完整”源代码。源代码不完整,因为它只包含4个列出的项,而不是20个。查看结果源代码,我们发现以下提示是“加载”/分页问题(行号2191)。我设法获得的完整源代码可以在这里查看:


在费勒看来,这是一个新秩序,而不是一个新秩序。
翻译错误文本:未知错误,请重新加载页面或稍后重试

在该错误之后,将显示用于转到下一页的源代码。可悲的是,在第1页和第2页(共16项)之间存在着口吃

我试图找到一个解决方案,深入研究请求库和urllib3,以找到任何有帮助的东西。因此,我尝试使用流而不是简单的“get”。遗憾的是,这对我没有任何帮助

导入请求
导入urllib3
#使用请求
url=”https://www.immowelt.de/liste/berlin/ladenflaechen"
source_code=requests.get(url)
纯文本=源代码.text
soup=BeautifulSoup(纯文本,features=“html.parser”)
#使用urllib3
http=urllib3.PoolManager()
r=http.request('GET','https://www.immowelt.de/liste/berlin/ladenflaechen')
rip=r.data.decode('utf-8')

我希望得到页面上的所有项目,但只得到了前4个。源代码似乎表明,simple request命令不会像在浏览器中那样加载整个源代码。

页面会对更多结果进行POST请求。您可以执行初始请求以获取总结果计数,并执行后续发布以获取所有结果。注意我对
请求
库有偏好,并且我们可以有效地重用与
会话
对象的连接

import requests, re
from bs4 import BeautifulSoup as bs

p = re.compile(r'search_results":(.*?),')

with requests.Session() as s:  
    r = s.get('https://www.immowelt.de/liste/berlin/ladenflaechen')
    num_results = p.findall(r.text)[0]
    body = {'query': 'geoid=108110&etype=5','offset': 0,'pageSize': num_results}
    r = s.post('https://www.immowelt.de/liste/getlistitems', data = body)
    soup = bs(r.content, 'lxml')
    print(len(soup.select('.listitem')))

谢谢。这看起来正好。我刚刚说到点子上,我也需要一篇帖子,但下一件事就是要弄清楚怎么写。我现在很难在汤中找到数据,但我明天会找到的。非常感谢你的帮助!这让我很开心。问候语!你好,QHarr,我再次绞尽脑汁想把我的下一个爬虫组装起来,我想用你的方法。可悲的是,为了找到所有的结果,我很难找到正确的职位。你能解释一下你是如何找到“查询”和标签的吗?我现在要爬网“”:如果你在我的个人资料页面上看到一系列链接。。其中一些介绍了如何使用network tab查找动态提供页面的xhr好的,我发现了一些其他有趣的提示,这些提示引导我使用他们的api找到了当前的解决方案:)非常感谢您的贡献,非常感谢知识共享。