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'})

使用代理

暂未使用等待补充

猜你喜欢

转载自www.cnblogs.com/mo-zixuan/p/10466967.html