python爬虫笔记
判断请求是否成功
1 | assert response.status_code==200 |
字符串格式化的一种方式
1 | "你{}好".format(1) |
使用代理ip
准备一堆ip地址,组成ip池,随机选择一个ip来使用
如何随机选择代理ip
- {“ip”:ip,”times”:0}
- [{},{},{},{},{}],对这个ip的列表进行排序,按照使用次数进行排序
- 选择使用次数较少的10个ip,从中随机选择一个
检查ip的可用性
- 可以使用requests添加超时参数,判断ip地址的质量
- 在线代理ip质量检测网站
携带cookie请求
- 尽量不使用cookie
- 携带一堆cookie进行请求,把cookie组成cookie池
请求登陆之后的网站的思路
- 实例化session
- 先使用session发送请求,登陆对网站,把cookie保存在session中
- 再使用session请求登录之后才能访问的网站,sesssion能够自动携带登陆成功时保存在其中的cookie,进行请求
不发送post请求,使用cookie获取登陆后的页面
- cookie过期时间很长的网站
- 在cookie过期之前能够拿到所有的数据,比较麻烦
- 配合其他程序一起使用,其他程序专门其获取cookie,当前程序专门请求页面
字典推导式,列表推导式
1 | cookies = "uuid_tt_dd=10_18697420810-1541514998525-406120; dc_session_id=10_1541514998525.130001; c_adb=1; smidV2=2018110622540004c9a404e4b4418224a1bc1f0afbaf24004db7a451c1dc9c0; UN=makersy; TY_SESSION_ID=bcb2fab5-1594-432f-b08b-77ff1c25478c; SESSION=04780891-f506-4bae-9eb9-7bee9b0f01b6; UserName=makersy; UserInfo=TY72nyXcSQ4kxcpYdP3noqwQsV904wqUfUrjssi1EYiqf77of1nXIX31igaPjkMfWt%2FBg37Ty5yCAFxluyxuwvK%2BjTb8WKRG2o8PpCGW7eCE5ImRX5bUUNkAvcYMhTjY; UserNick=makersy; AU=7FA; BT=1541516799322; UserToken=TY72nyXcSQ4kxcpYdP3noqwQsV904wqUfUrjssi1EYiqf77of1nXIX31igaPjkMfWt%2FBg37Ty5yCAFxluyxuwvK%2BjTb8WKRG2o8PpCGW7eAvjKefqLie1zAAltRYdzP1Sk%2Bfm7yuJ%2FP%2Fbsd6wSQVGMnSmTWc8bbv2HgJOkqFDhc%3D; ARK_ID=JSc5d36a4d0c44c361b2667ed6147b5607c5d3; dc_tos=phs2bi" |
获取登陆后的页面的三种方式
- 实例化session,使用session发送post请求,在使用他获取登陆后的页面
- headers中添加cookie键,值为cookie字符串
- 在请求方法中添加cookie参数,接受字典形式的cookie,字典形式的cookie中的键是cookie的name对应的值,值是cookie的value对应的值