【问题标题】:request.get doesn't work in python scraperrequest.get 在 python scraper 中不起作用
【发布时间】:2015-08-06 05:50:12
【问题描述】:

您好,我正在尝试使这个基本的爬虫工作,它应该去一个网站填写“城市”和“区域”,搜索餐馆并返回 html 页面。

这是我正在使用的代码

payload = OrderedDict([('cityId','NewYork'),('area','Centralpark')])

req = requests.get("http://www.somewebsite.com",params=payload)

f = req.content 
soup = BeautifulSoup((f))

这是源 HTML 的样子

当我检查生成的汤变量时,它没有搜索结果,而是仅包含来自第一页的数据,其中包含输入城市和区域值的表单(即 www.somewebsite.com,我想要的是www.somewebsite.com?cityId=NewYork&area=centralPark) 的结果。所以我必须通过该参数传递什么才能显式按下搜索按钮,或者是否有任何其他方法可以使其工作。

【问题讨论】:

  • 我认为您使用了错误的 GET URL! action 的形式为 /location-suggestions。所以你的网址应该是这样的www.somewebsite.com/location-suggestions?cityId=NewYork&area=centralPar
  • 那么你建议我做什么...我尝试将我的网址更改为 somewebsite.com/location-suggestions ,但结果没有变化
  • 也许您尝试抓取的网站需要有效的 cookie。尝试创建一个session 并将其用于GET 请求。抱歉,如果没有网站在 i 上进行测试,我将无能为力!

标签: python get web-scraping python-requests scraper


【解决方案1】:

您需要先检查您是否可以通过网络浏览器访问该网址并获得正确的结果。

【讨论】:

  • get请求形成的Url填满了“city”和“area”字段,但是搜索没有完成(因为我们按下搜索按钮后会看到结果).. .那么我如何从那里得到搜索结果
猜你喜欢
  • 2021-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-11
  • 2021-10-06
  • 2011-02-14
  • 2022-01-21
相关资源
最近更新 更多