爬虫操作第一节-爬取网页的实现

既然我们前面学习了概念,那么就一定要动手实践,因为光说不做假把式嘛~

我们爬取的网页以豆瓣电影Top250为例(别问,问就是刚好老师讲的就是...)

爬取的操作一共分成三大部分:

1)爬取网页

2)信息提取

3)信息保存

我们今天先学习爬取网页的操作:

1)访问URL

我们可以看到,我们需要先生成一个list列表,保存浏览器的头部信息,不然的话我们这样不经过任何伪装,豆瓣是不会给我们资源的(因为我们的快速访问也占用了豆瓣服务器的大量资源,这在运营方看来是不可接受的)

2)伪装

所以,我们需要将自己的User-Agent进行伪装,伪装成为不同的浏览器,对于爬取豆瓣来说,这些伪装已经够了.

def askURL(url):        #我们最好多找一些浏览器信息,不然容易被查找
    #第一个是chrome的
    #第二个是火狐的
    #后面的都是网上的
    agent1="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
    agent2="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0"
    agent3="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"
    agent4="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0"
    agent5="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"
    agent6="mpatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)"
    agent7="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.33 Safari/534.3 SE 2.X MetaSr 1.0"
    # list1=[agent1,agent2,agent3,agent4,agent5,agent6,agent7]
    list1=[agent2]
    agent=random.choice(list1)
    header={"User-Agent":agent}

    request=urllib.request.Request(headers=header,url=url)
    try:
        response=urllib.request.urlopen(request)
        html=response.read().decode('utf-8')
        # print(html)
    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)
    return html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shallow_Carl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值