本文将详细介绍Python爬虫学习第三十四天的相关知识和内容。
一、使用代理IP
1、在进行网页抓取时,可能会遇到目标网站的IP封禁,为了避免这种情况,我们可以使用代理IP来隐藏自己的真实IP。
2、首先,我们需要找到可用的代理IP。可以通过免费代理IP网站或购买付费代理IP服务来获取。获取到代理IP后,我们还需要验证它的可用性。
import requests def check_proxy_ip(proxy_ip): try: response = requests.get(url, proxies={'http': proxy_ip}, timeout=3) if response.status_code == 200: print('Proxy IP is valid.') return True else: print('Proxy IP is invalid.') return False except: print('Proxy IP is invalid.') return False
3、验证代理IP的可用性后,我们可以在爬虫代码中使用代理IP进行网页抓取。可以通过设置requests库的proxies参数来实现。
import requests proxy_ip = '192.168.1.100:8888' url = 'https://www.example.com' response = requests.get(url, proxies={'http': proxy_ip})
二、使用UA随机切换
1、在进行网页抓取时,目标网站可能会使用用户代理(User-Agent)来检测爬虫行为。为了防止被识别为爬虫,我们可以随机切换User-Agent。
2、首先,我们需要准备一个包含多个User-Agent的列表。
user_agents = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36', ] import random random_user_agent = random.choice(user_agents)
3、然后,在发送请求时,我们可以在headers中设置User-Agent。
import requests url = 'https://www.example.com' headers = {'User-Agent': random_user_agent} response = requests.get(url, headers=headers)
三、下载文件
1、在进行爬虫时,有时我们需要下载网页中的附件文件。可以使用Python的requests库来实现。
2、首先,我们需要获取到附件文件的URL。
import requests from urllib.parse import urljoin url = 'https://www.example.com' file_url = '/path/to/file' full_url = urljoin(url, file_url)
3、然后,我们可以使用requests库的get方法来下载文件,并保存到本地。
import requests url = 'https://www.example.com' file_url = '/path/to/file' save_path = '/path/to/save' response = requests.get(full_url) with open(save_path, 'wb') as f: f.write(response.content)
通过以上方法,我们可以实现在爬虫过程中的代理IP使用、UA随机切换和文件下载。