爬虫入门案例——爬取免费代理IP

我们在爬取多次对一个网页进行爬取时,网站可能会检测出当前IP非法爬取网页内容,对改IP进行禁止,则,我们就要找到代理IP进行继续爬取。

西刺免费代理IP:xicidaili.com/

源代码如下:

# -*-coding:utf-8-*-"""爬取西刺免费代理IP"""import requestsfrom bs4 import BeautifulSoupwith open(ip.text, a, encoding=utf-8)as f: for page in range(1,3):url=xicidaili.com/nn+/+str(page)headers={User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36}resp=requests.get(url,headers=headers)html=resp.textsoup=BeautifulSoup(html,lxml)all=soup.find_all(tr,class_="odd") for i in all:t=i.find_all(td)ip=t[1].text+:+t[2].textprint(ip)proxies={http:http://+ip,https:https://+ip}targeurl=baidu.com try:response = requests.get(targeurl, proxies=proxies, headers=headers, timeout=5).status_code if response==200:f.write(ip+\n) except:print(改ip不可用)

知识要点:

1、使用requests.get()请求网页

2、通过添加请求头headers破解网页反爬虫

3、使用BeautifulSoup()方法解析网页内容

4、如何快速定位到要爬取的网页内容

5、try……except……用法

(注意事项:文中的网址url因为网站的上传文档的原因,前面的前缀https://www.都被隐藏了)