pythonrequest⼤全_python通过requests库实现简单爬⾍
(⼀)
1.装好python和pip环境
2. 安装requests fake-useragent
如果python版本<3 使⽤pip install requests pip install requests
如果python版本>=3 使⽤pip3 install requests pip3 install fake-useragent
3.代码实现
import requests
import random
browsers_json = {}
def get_user_agent():
selected思莱德官方旗舰店
global browsers_json
if len(browsers_json) == 0:
response = ("fake-useragent.herokuapp/browsers/0.1.11")
browsers_json = )['browsers']
什么是语句覆盖max_len = len(browsers_json)
rand = random.randint(0,max_len-1)
# python>=3
# key = list(browsers_json.keys())[rand]
lambda公式# python < 3
key = browsers_json.keys()[rand]
rand = random.randint(0,len(browsers_json[key])-1)
return browsers_json[key][rand]
def do_request(url):
userAgent = get_user_agent()
print(userAgent)
# headers = {'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'}
headers = {'user-agent':userAgent}
proxies = {'url':'47.100.21.174:8118'}flask凡氪电子烟
response = (url,headers = headers,proxies = proxies)
ncode('utf-8').decode('unicode_escape'))
return response
def main():
url = "utiao/api/pc/feed/?
category=news_hot&utm_source=toutiao&widen=1&max_behot_time=0&max_behot_time_tmp=0&tadrequire=true&as=A1C58DD6
i = 0
python基础代码大全下载while(True):
i += 1 ;
response = do_request(url)
response_json = de('utf-8').decode('unicode_escape')
命名空间完整教程__contains__('"message": "success"'):
print(i)
break
if __name__ == '__main__' :
main()
4.涉及到的问题及处理
1)随机去到的⽤户代理(user-agent)有可能在请求时发⽣错误
采⽤循环请求⽅式直到请求成功为⽌
2)循环请求会涉及到循环调⽤获取⽤户代理列表的⽅法
定义全局变量browsers_json 请求前判断如果有值则不再请求
3) 需要注意python2和python3⼀个区别的地⽅
python3中dict.keys()⽅法返回的类型是dict_keys,不能直接通过index继续取值,
需要先通过list(dict.keys())⽅法转换成list即可
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论