zoukankan      html  css  js  c++  java
  • 学习爬虫——test1——模拟浏览器去访问网站

    用爬取豆瓣网站上的信息作为实例

    1.  不模拟浏览器访问,可能会出现 418 错误,这说明你要爬取的网站已经知道你是爬虫啦

         很多网站有反爬虫机制,直接爬取会被拦截

    如:直接访问时

     url="http://www.douban.com"
     response=urllib.request.urlopen(url)
     print(response.read().decode("utf-8"))
    

      

    会出现418错误:

    2.  模拟浏览器访问,需要用到 Request 封装函数,将要访问的网址封装起来

    在这里,我理解为:把模拟浏览器的信息放在一个对象里面即res,res中包含了浏览器的头部信息、访问方式等

    headers是伪装的向豆瓣网站发送的头部信息,里面包含的用户代理信息标识了此次访问是浏览器在访问(即模拟浏览器)

    url="http://douban.com"
    data=bytes(urllib.parse.urlencode({"name":"lll"}),encoding="utf-8")
    headers={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.75"
    }
    res=urllib.request.Request(url=url,data=data,headers=headers)
    response=urllib.request.urlopen(res)
    print(response.read().decode("utf-8"))
    

      

    这样就可以成功爬取到网页的内容了:

  • 相关阅读:
    PAT乙级1002. 写出这个数 (20)
    PAT乙级1001. 害死人不偿命的(3n+1)猜想 (15)
    HDU 4520 小Q系列故事——最佳裁判
    POJ 3414 Pots(BFS)
    POJ 1118 Lining Up
    POJ 2484 A Funny Game
    POJ 2231 Moo Volume
    HDU 5718 Oracle(高精度)
    FZU 1502 Letter Deletion(DP)
    HDU 1564 Play a game
  • 原文地址:https://www.cnblogs.com/canneddream/p/14644210.html
Copyright © 2011-2022 走看看