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(

9574

被折叠的 条评论
为什么被折叠?



