Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python搜索和刮取结果_Python_Web Scraping_Python Requests_Bs4 - Fatal编程技术网

Python搜索和刮取结果

Python搜索和刮取结果,python,web-scraping,python-requests,bs4,Python,Web Scraping,Python Requests,Bs4,这是我的第一篇帖子,如果是重复的,我很抱歉,但是我找不到与我相关的答案。如果有,请让我知道,我会查出来 我正试图搜索一个网站(见下图)来查找伯克利租金上限,但我遇到的麻烦是我似乎不知道如何在搜索框中插入地址并从下一页中搜索信息。在过去,我使用的URL会随着搜索输入而改变,但不会在这个网站上。我认为我的最佳选择是使用bs4来获取信息和request.session和requests.post来访问后续的每个地址 #Berkeley Rent Scrape from bs4 import Beaui

这是我的第一篇帖子,如果是重复的,我很抱歉,但是我找不到与我相关的答案。如果有,请让我知道,我会查出来

我正试图搜索一个网站(见下图)来查找伯克利租金上限,但我遇到的麻烦是我似乎不知道如何在搜索框中插入地址并从下一页中搜索信息。在过去,我使用的URL会随着搜索输入而改变,但不会在这个网站上。我认为我的最佳选择是使用
bs4
来获取信息和
request.session
requests.post
来访问后续的每个地址

#Berkeley Rent Scrape
from bs4 import BeauitfulSoup
import sys
import requests
import openpyxl
import pprint
import csv

#wb = openpyxl.load_workbook('workbook.xlsx', data_only=True)
#sheet = wb.get_sheet_by_name('worksheet')


props_payload={'aspnetForm':'1150 Oxford St'}
URL = 'http://www.ci.berkeley.ca.us/RentBoardUnitSearch.aspx'

s = requests.session()
p = s.post(ULR, data = props_payload)
soup = BeauitfulSoup(p.text)
data = soup.find_all('td', class="gridItem")
更新发帖后如何从新网页获取信息?或者换句话说,当URL不变时,使用request.post然后是request.get或bs4 scrape的框架是什么

我想它看起来是这样的,但我确定我需要一个GET请求,但我不明白当URL不变时会话是如何工作的

我将把信息导出到csv文件和excel工作表中,但我可以稍后再处理。只是想把肉弄走


谢谢你的帮助

正如您在链接中看到的,此搜索不通过重定向工作,因此您无法将查询传递到URL。 我不确定如何直接使用ASP.NET后端(由于后端的身份验证/验证,这可能很棘手)。
我认为一些自动化(测试)工具可以帮助您(例如PhantomJS和/或CasperJS)。它让您可以控制呈现的网页,您可以通过编程将查询放入输入并在响应后获取数据

我看不到任何实际问题。。。你发布的解决方案有什么问题吗?谢谢,我有点陷入了解释这个问题太广泛了。Stack Overflow不是一个你可以让其他人为你做教程或编写代码的地方,而是一个当你需要帮助或指导时你可以问特定问题的地方。在这种情况下,您实际上是在要求某人告诉您如何为您编写此代码。根据您的代码示例,似乎
数据
可能包含您需要的内容。。。不是吗?请具体说明。我的意图不是提出一个广泛的问题,也不是让别人为我写这篇文章,所以我向@garrettmurray道歉,我发布了一篇“垃圾”帖子,因为我也不喜欢这些类型的帖子。我想我要寻找的是:什么是使用
请求的框架。post
然后是
请求。get
bs4
在URL不变时进行刮取。PhantomJS是一个独立的应用程序(无头浏览器),CasperJS只是JS包装器。您可以将PhantomJS与Python一起使用。例子