当爬取的网站有反扒时,最好将网页保存下来,然后再进行网页数据获取,这时可以使用etree解析本地HTML,然后配合xpath使用
with open('AA001.html', 'rb') as f:
content = f.read().decode('utf-8')
# 使用 etree.HTML(text) 将字符串格式的 html 片段解析成 html 文档
tree = etree.HTML(content)
# xpath
pro_description_img = tree.xpath('//div[@id="tec1"]//img/@src')
遇到验证码识别可以使用
**selenium + 超级鹰**
进行处理(获取在本地搭建一个验证码识别,不过有点难,得训练)- 遇到页面加载过长时出现广告页面,遮挡住想要爬取的数据时,可以使用selenium对广告弹窗进行关闭
- 爬取大量网页时要设置下载延时,不要对服务器造成压力,严重的话会坐牢
- 能使用ip代理,就是用ip代理(免费的不好用,商用的要钱)