Python爬虫入门记(2)- 网络代理(伪装)

二、用户代理(伪装)

1. 代码
# 得到指定一个URL的网页内容
def askURL(url):
    # 用户代理,报时告诉豆瓣服务器我们是什么浏览器(伪装)(告诉浏览器我们可以接受什么信息)
    # 模拟头部,内容可以更多,下面会说head的内容由来
    head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"}
    # 实现最基本的请求的发起,加入headers等信息,利用用urllib.requst库中的Request类来构造请求
    request = urllib.request.Request(url, headers=head)
    html = ""
    # try-except: python的异常处理
    try:
    	# 一般下面两句代码和上面request那行代码一起使用
    	# urlopen用于打开一个远程的url连接,,对request请求得到响应结果
    	# 大多数情况下,浏览器的默认编码方式是utf-8,因此我们设置服务器返回的数据的编码方式也是utf-8即可
        response = urllib.request.urlopen(request)
        html = response.read().decode("utf-8")
        # 可以打印爬下来的网页源代码print(html) 
        # except:用urllib.error库的URLError找出相应直接打印出错原因,泛用性较强
    except urllib.error.URLError as e:
    	# hasattr() 函数用于判断对象是否包含对应的属性
        if hasattr(e, "code"):
            print(e.code)
        if hasattr(e, "reason"):
            print(e.reason)
    # 返回网页源代码
    return html
2. 查看网页源代码,获取头部信息
  1. 打开某一网页,按 F12 或者 fn+F12(如果网页有保护机制,可以打开浏览器的开发者工具),点开Network板块,左上角的红点是下方进程显示的开关。
    在这里插入图片描述
  2. 刷新网页,点击红点暂停。在这里插入图片描述
  3. 选择最开始的进程。在这里插入图片描述
  4. 单机那个name,右侧会出现详细信息,查看Headers,可以选择复制需要伪装的头部信息,本例用的是Request Headers中的User-Agent,也可以用更多的信息。在这里插入图片描述
3. 对于懒得伪装或者爬下的代码有误的情况
  1. 直接打开想要爬取的网页,直接查看源代码,复制到 txt 本文文件中,在代码中直接赋值使用。
  2. 代码如下:(注意打开文件的位置,这里是和代码放在同一目录下)
   f = open('data.txt', encoding='utf-8')  # 注意encoding的使用
   urls = f.read()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值