• Python简单爬虫


    本博客主要用来记录一下学习过程中所使用的代码:
    我们以豆瓣电影网为例子,来爬取上面的数据:
    链接:豆瓣电影

    import requests
    url="https://movie.douban.com/"
    resp=requests.get(url)
    resp.encoding="utf-8"
    #print(resp.text)
    f=open("douban.html","w")
    f.write(resp.text)
    print("over")
    resp.close()#关闭会话,防止后续使用爬虫出现无法访问的情况
    

    以上是一个非常基本并且简单的爬取网页源代码的爬虫。
    但是我们可以发现爬取下来在douban.html中是没有任何东西的,所以这个时候我们大概率是被监测到不是人工在进行网页的访问,而是自动化程序,这个时候就需要我们进行伪装一下,最基础的伪装就是User Agent的伪装,查看我们自己的UA需要使用浏览器自带的抓包工具,按下F12,然后在Network选项中重新刷新网页,在抓获的包中,我们就能够获得我们想要的UA信息

    import requests
    url="https://movie.douban.com/"
    #反爬可以在这里加一个头
    dic={# 这里dic代表的时请求头,是一个字典变量
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62"
    }
    #然后下面的请求改一下就可以了
    resp=requests.get(url,headers=dic)
    #resp=requests.get(url)
    resp.encoding="utf-8"# windows系统必须加这个否则读取中文的时候可能会出现乱码的情况
    #print(resp.text)
    f=open("douban.html","w",encoding="utf-8")#windows系统一定要写encoding="utf-8"
    f.write(resp.text)
    print("over")
    resp.close()#关闭会话,防止后续使用爬虫出现无法访问的情况
    

    这个时候我们加入了这些以后,可以发现我们可以正常爬取东西了。

    同理如果我们要像浏览器传入数据然后爬取相应的内容,我们也同上,首先先用浏览器自带的抓包工具检查所发送包中的变量名称,然后将这些变量存在一个新建的字典中,最后在调用request.get的时候将这个字典赋值给data,就可以实现查询我们想要查询的东西了,具体实现方法见如下代码:

    import requests
    url="输入目标网址"
    #反爬可以在这里加一个头
    dic={# 这里dic代表的时请求头,是一个字典变量
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62"
    }
    dat={
        "输入变量1名称": "输入变量1的值",
        "输入变量2名称": "输入变量2的值"
    #·········
    }
    #然后下面的请求改一下就可以了
    resp=requests.get(url,headers=dic,data=dat)
    #resp=requests.get(url)
    resp.encoding="utf-8"# windows系统必须加这个否则读取中文的时候可能会出现乱码的情况
    #print(resp.text)
    f=open("douban.html","w",encoding="utf-8")#windows系统一定要写encoding="utf-8"
    f.write(resp.text)
    print("over")
    resp.close()
    
  • 相关阅读:
    传感器仿真平台——数据生成模块(三)
    写一个ES6 的遍历目录函数
    编码风格
    关于DOM事件的一个例子
    WEB DB
    表格资料
    css3 鼠标移入移出效果
    css 3D
    正向代理和反向代理
    FileReader 对象
  • 原文地址:https://www.cnblogs.com/mudrobot/p/15098419.html
Copyright © 2020-2023  润新知