py爬虫姿势
Posted mo-zixuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了py爬虫姿势相关的知识,希望对你有一定的参考价值。
基础包括
head{}字典 存取要传入的包头文件 列如可以认为是通用数据头具体的数据头应抓包获得
headers = { ‘User-Agent‘: ‘Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0‘, ‘Accept‘: ‘text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8‘, ‘Accept-Language‘: ‘en-US,en;q=0.5‘, ‘Accept-Encoding‘: ‘gzip, deflate‘, ‘Connection‘: ‘keep-alive‘}
模拟登陆
该数据是视觉中国进行模拟登陆
先在视觉中国输入错误的账号密码获取到一个发送值可以调用浏览器页面的检查功能发现
获取值为{‘username‘: "*****", ‘password‘: "*******", ‘captcha‘: "", ‘lgt‘: "0", ‘token‘: ""}
命名为date
使用 post()函数传入登陆地址,实际账号密码,和头数据。
编写函数测试是否返回了cookies如果没有返回值就进行抓包找到实际发送值并对值进行提取
详见https://blog.csdn.net/churximi/article/details/50917322 我是从这里学习的
def login(): s = requests.session() loginURL = "https://www.vcg.com/ajax/login/submit" # POST发送到的网址 login = s.post(loginURL, data = date, headers = headers) # 发送登录信息,返回响应信息(包含cookie) cookies = login.cookies
return cookies
获取网页
get()函数获取网址,传入url or urls ,heasders ,超时时间 html的值是网页的
table获取的是html里获取的相对应的标签内部的值,如果无对应会返回None并且find_all()会提示错误
html=requests.get(‘https://18moe.com/category/game‘,headers=headers,timeout=5).text
table=BeautifulSoup(html,‘lxml‘).find(‘select‘,{‘class‘,‘poi-pager__item_middle_select poi-form__control‘})
使用代理
暂未使用等待补充
以上是关于py爬虫姿势的主要内容,如果未能解决你的问题,请参考以下文章