爬虫

716次阅读
没有评论
爬虫

1、使用代理ip和普通requests.get请求抓取页面流程一样,只是多了个参数proxies.

  • http://www.goubanjia.com/ 找代理IP,注意http,https,选与目标网址一样的协议。
  • proxies字典格式的

import requests

url='https://www.baidu.com/s?wd=ip&ie=utf-8'

proxies={ "https":"218.60.8.99:3129" }

headers={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" }

response=requests.get(url=url,proxies=proxies,headers=headers)

with open('baiduip.html','w',encoding='utf-8') as f: f.write(response.text)

2、使用session抓取需要登陆之后才能看到的页面数据

  • 获取session对象:session=requests.session()
  • session.post请求登陆url存储session信息
  • session.get请求获取登陆之后的个人页面
    以豆瓣为例:

import requests # 先用session登陆获取存储session session=requests.session() login_url='https://accounts.douban.com/j/mobile/login/basic'

data={ 'ck':'', 'name':'', 'password':'', 'remember':'false', 'ticket':''

}

headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

login_response=session.post(url=login_url,data=data,headers=headers)

# 再用session获取想要的页面 https://www.douban.com/people/193627830/ url='https://www.douban.com/people/1230/' response=session.get(url=url,headers=headers) with open('doubanlogin.html','w',encoding='utf-8')as f: f.write(response.text)

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-25发表,共计1408字。
新手QQ群:570568346,欢迎进群讨论 Python51学习