博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断是否是正常浏览器访问
阅读量:5084 次
发布时间:2019-06-13

本文共 1546 字,大约阅读时间需要 5 分钟。

'''作业2:判断user-agent,判断是否是正常浏览器访问'''from urllib import requestbase_url = "http://www.langlang2017.com"headers = {    "connnction":"keep-alive",    "USer_Agent":"mozilla/5.0 (Windows nt 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"}req = request.Request(base_url,headers=headers)user_agent  = req.get_header("User_agent")print(req.headers,user_agent)# if user_agent:#     print("是浏览器访问")# else:#     print("不是浏览请求!")# response = request.urlopen(req)## html = response.read()## html = html.decode("utf-8")## ## print(html)'''作业1:假装浏览访问,假装不同的浏览器访问。从user_agent_list.txt文件中,读取user_agent数据,用来封装成一个带headers的request对象,进行网站页面的爬取。'''#1.读取文件内容# text = ""# with open("user_agent_list.txt","r",encoding="utf-8") as f:#     text = f.read()#     print(text)#     f.close()#2.使用文件内容# import random# user_agent_list = text.split("\n")# print(len(user_agent_list))# headers = {
# "user_agent":random.choice(user_agent_list)# }## # req = request.Request(base_url,headers=headers)# # response = request.urlopen(req)# # html = response.read()# # html = html.decode("utf-8")# # print(html,req.get_header("User_agent"))## #小结:遇到的问题,一次读全部的user_agent,太占内存,而且大多数用不着。# # 解决方法:使用迭代读取文件内容,确保节省内存。## for line in open("user_agent_list.txt"):# headers = {
# "user_agent":line.strip()# }## req = request.Request(base_url,headers=headers)# response = request.urlopen(req)# html = response.read()# html = html.decode("utf-8")# print(html)

 

转载于:https://www.cnblogs.com/zhangboblogs/p/8542069.html

你可能感兴趣的文章
如果你是程序员,这些细节会害死你(3)
查看>>
xmlhttp的OnReadyStateChange事件
查看>>
python连接oracle数据库
查看>>
C++异常处理
查看>>
捕获键盘和鼠标的消息机制
查看>>
Csharp 简单操作Word模板文件
查看>>
laravel 配置设置
查看>>
常用linux命令
查看>>
git 代码更新
查看>>
eclipse转到idea过程中的基本设置...
查看>>
需求分析
查看>>
hadoop-maven项目打包成可执行的jar
查看>>
[欧拉回路][并查集] Bzoj P3706 反色刷
查看>>
Python学习之路:guess_rx_wan
查看>>
字符串转化为可执行的方法
查看>>
select和epoll学习总结
查看>>
pku 3661 Running DP
查看>>
BZOJ4923 K小值查询(splay)
查看>>
被sleep开了个小玩笑
查看>>
centos安装memcache与telnet
查看>>