多线程爬虫代理之随机获取UserAgent

自动获取爬虫的request请求头中的user-agent代理服务,提供IE浏览器、opera浏览器、chrome浏览器、firefox浏览器、safari浏览器的伪装代理服务。




该程序基于fake_useragent包进行的二次开发,需要先安装pip install fake_useragent,并自定义了get()函数,函数中设置number的用于主要是为了多线程爬虫使用,例如使用map进行并行计算等,具体代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from fake_useragent import UserAgent
import random


def get(number=None):
"""
默认随机返回一组长度为number和1的UserAgent

:param number: 需要返回UserAgent的列表长度,默认7
:return:
"""

ua = UserAgent()
word = [ua.ie, ua.opera, ua.chrome, ua.firefox, ua.safari, ua.msie, ua.google]
if number is None:
user_agent_list = word
return user_agent_list, random.choice(user_agent_list)
elif int(number) > 0:
numbers = [n for n in range(int(number))]
user_agent_list = [random.choice(word) for i in numbers]
return user_agent_list, random.choice(word)