通过转转项目的模仿学到的新东西
1使用代理ip
使用代理ip是非常有必要的,我就成功的被反爬虫了。方法如下
1建一个代理ip列表
daili_ip = [
'ip:端口'
'ip:端口'
'ip:端口'
]
2通过radom方法在上面列表中随机获取ip
every_ip = radom.chice(daili_ip)
最后将任意ip放入固定格式中
ip ={’http‘:every_ip}
2try expect方法
try:
xxxxxxx
xxxxxxx
xxxxx
expect(errow1.errow2)
3判断404页面
通过soup解析后
if' wa_data.status_code ==404:
pass
else:
接下来的代码。。。。。
4当抓取的信息是包含多个text文本时可以使用lambda'函数
例如:’area‘:list(map(lambda x :x.text ,soup.select(定位方式)))
5断点续传
大体思路时用数据库a中总的url减去已经使用的保存在数据库b中的url然后在调用剩下的url
例如:db_urls = [item['url'] for item in url_list.find()]
index_urls = [item['url']for item in item_infor.find]
x = set(db_urls)
y = set(index_urls)
rest_urls = x-y