zoukankan      html  css  js  c++  java
  • 第一个小爬虫

    # requests 用来发送http请求            bs4  用来解析网页          chardet    用来检测网页编码格式
    import json
    
    import requests
    from bs4 import BeautifulSoup
    import chardet
    from lxml import html
    import xml
    
    # 存储爬取信息的文本文件。a为追加模式,新增信息始终放在已有的信息后面,这样已有的内容就不会被覆盖
    f = open("E:info.txt", "a")
    # 要爬取信息的url,找网址的时候很可能出现假网址,网址里边进行了二次请求。可以通过找请求头内容的方式找到实际的网址
    url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&page_limit=50&page_start=0"
    # 伪装爬虫,请求头的内容可以在浏览器中获得(打开网页,点击键键盘上的F12,出现控制台,点击网络,再点击XHR)
    header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'
        , 'Connection': 'keep-alive'
              }
    # 此处for循环没有作用,本来想爬取10个网页的数据,但是发现豆瓣网页直接将一个模块的数据打包为json,全部获得
    for i in range(1):
        # 用requests库的get方法与服务器进行连接,返回一个requests.models.Response的类
        pageConnect = requests.get(url, headers=header)
        print(type(pageConnect))
    
        # 用chardet库中detect方法获取网页的编码格式,返回的是dict字典,具体的编码格式在encoding这个键对应的值中
        pageConnect.encoding = chardet.detect(pageConnect.content)['encoding']
    
        # 设置好编码格式后,用text方法把pageConnect转化为字符串供beautifulSoup处理,但是本次直接得到了json,
        # 就不用再通过找便签来识别数据,所以解析网页的就注释了
        page = pageConnect.text
        print(type(page))
    
        # 用beautifulSoup进行解析网页,lxml是解析类型
        # soup=BeautifulSoup(page,'lxml')
        # print(soup)
        # 进行h5标签选择
        # ppp=soup.select('p')
        
    # json.dumps():将字典转为字符串类型 # json.loads():将字符串转成dict类型 json_page = json.loads(page) print(json_page) newpages = json_page['subjects'] print(newpages) for x in range(len(newpages)): newpage = newpages[x] moviename = newpage['title'] print(moviename) f.write(moviename+' ')

     参考文章:https://blog.csdn.net/guanmaoning/article/details/80158554

  • 相关阅读:
    Maven pom.xml中的元素modules、parent、properties以及import
    WebService与RMI(远程调用方式实现系统间通信)
    负载均衡+session共享(memcached-session-manager实现)
    LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡
    将tomcat添加为linux系统服务
    virtualBox安装centos,并搭建tomcat
    主从热备+负载均衡(LVS + keepalived)
    利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)
    排序之归并排序
    排序之快速排序(下)
  • 原文地址:https://www.cnblogs.com/fbbg/p/12619365.html
Copyright © 2011-2022 走看看