python爬取大众点评数据_python爬取大众点评网伪装浏览器返回出现403错误

hi,各位好,我在爬大众点评的这个网页http://www.dianping.com/search/keyword/2/75_%E6%96%B0%E4%B8%9C%E6%96%B9,用的request包获取网页源码,header主要添加了user-agent和cookie,但为什么总是返回错误?求助,谢谢各位了!

PS:用curl可以返回正常的源码,没有被封IP

1

2

3

4

5

6

7

8

9

10

11

12

13import requests

def gethtml(url, headers):

html = requests.get(url, headers = headers)

html.encoding = 'utf-8'

return html.text

head = {'User_Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2723.3 Safari/537.36',

'Cookie': 'PHOENIX_ID=0a650c81-154a0633f47-a97843; _hc.v=""e27e18eb-3a3d-4b40-b06a-cbe624c96048.1462979739""; s_ViewType=10; JSESSIONID=877B00919AD417544F72F5A9953E54B4; aburl=1; cy=2; cye=beijing'}

url = 'http://www.dianping.com/search/keyword/2/75_%E6%96%B0%E4%B8%9C%E6%96%B9'

html = gethtml(url, head)

print(html)

已经解决,header中添加

1{'Accept': 'application/json, text/javascript'}

就能正常返回了

如果换 cookie 换 user agent 都不行,那你试试普通的 CURL。可能是 IP 被 ban 了?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想了解如何用 Python 爬取历史天气数据,是吗? 首先,需要确定您想要爬取哪个地区的历史天气数据。一般来说,可以通过查询该地区的气象局或气象站获取历史天气数据。 接着,可以使用 Python 中的 requests 库来发送 HTTP 请求,获取页源代。然后,可以使用 BeautifulSoup 库来解析页源代,提取出所需的天气数据。 以下是一个简单的示例代,用于爬取中国天气上北京市 2019 年 1 月份的历史天气数据: ``` python import requests from bs4 import BeautifulSoup url = 'http://www.weather.com.cn/weather/101010100.shtml#dt' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} r = requests.get(url, headers=headers) r.encoding = 'utf-8' soup = BeautifulSoup(r.text, 'html.parser') weather_list = soup.select('.t li') for weather in weather_list: date = weather.select('.time')[0].text weather_detail = weather.select('.temp')[0].text.strip() print(date, weather_detail) ``` 以上代中,我们首先通过 requests 库发送了一个 GET 请求,获取了北京市天气页源代。然后,使用 BeautifulSoup 库解析页源代,提取出了 2019 年 1 月份的天气数据,并打印输出了日期和天气详情。 需要注意的是,不同的页结构不同,需要根据具体情况修改代。同时,需要注意站的 robots.txt 文件,不要过度访问站,以免被封 IP 或其他限制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值