requests结果显示“请开启JavaScript并刷新该页”,selenium不用cookie解决

Selenium爬取可不使用cookie,即可获取完整html内容

引言~~

今天无意间看到了很多纪念币,突然一股强烈的占有欲涌上心头。虽然手里捧着窝窝头,菜里没有一滴油,但是我还是胆大妄为地想去看看纪念币的发行。

一同乱七八糟的操作后,终于在中国人民银行-货币金银局里找到了‘普通纪念币’和‘贵金属纪念币’两个公告板。于是我立刻、毫不犹豫地点进了‘普通纪念币’,结果发现发布的公告数量不多,频率也很低。转念一想,每天都点点点的也太麻烦了,于是一个大胆的想法蹦了出来:爬它!

这是第一次对类似国家网站上手,心情还是很忐忑的。话不多说。开搞。

过程~~

第一步当然是看看robots.txt了

结果很意外,HTTP ERROR 404
虽然没有爬虫限制,但还是自觉遵守网络道德!

第二步盘代码

一开始我选择的是requests+BeautifulSoup,

import requests
from bs4 import BeautifulSoup

url = 'http://www.pbc.gov.cn/huobijinyinju/147948/147964/index.html'
headers = {
   
   'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36',
           }
res = requests.get(url,headers=headers)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text,'html.parser')
print(soup)

执行后显示的结果却没有预期的内容,仔细浏览后发现了问题所在:

<h1><strong>请开启JavaScript并刷新该页.</strong></h1>

我又在CSDN一通乱翻,找到了别人的解决办法python爬虫时爬取的html代码显示“请开启JavaScript并刷新该页”,简单来说就是带rookie访问。
加上rookie后果然获取了完整的内容。
之后进行的都很顺利。直到那一刻、那一秒的到来… 那一刹,我记起了BUG带来的恐惧。

带rookie访问

虽然带rookie访问可以获取到想要的内容,但是每次rookie都要手动到网络中获取。非常的不方便。之后我又找到了自动获取rookie的方法,但是有个问题出现了~

res = requests.get(url,headers=headers)
cookies = requests.utils.dict_from_cookiejar(
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALittleHigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值