zoukankan      html  css  js  c++  java
  • 爬取汽车之家

    爬汽车之家新闻

    """
    ### 爬取汽车之家新闻
    
    
    import requests
    
    # 向汽车之家发送get请求,获取到页面
    
    ret = requests.get('https://www.autohome.com.cn/news/1/#liststart')
    # print(ret.text)
    
    # 用bs4解析
    from bs4 import BeautifulSoup
    
    # 实例化得到对象,传入要解析的文本,解析器
    # html.parser内置解析器,速度要稍微慢一点,但是不需要装第三方模块
    # lxml:速度快一些,得安装 pip install lxml
    
    soup = BeautifulSoup(ret.text, 'html.parser') # 传入一个字符串
    # soup = BeautifulSoup(open('a.html', 'r'))  # 也可以是一个文件
    
    # find(找一个)
    # find_all(找所有)
    
    # 找到页面的所有的li标签
    li_list = soup.find_all(name='li')
    for li in li_list:
        # li是tag对象
        # print(type(li))  # <class 'bs4.element.Tag'>
        h3 = li.find(name='h3')
        if not h3:
            continue
        title = h3.text  # 新闻标题
        desc = li.find(name='p').text # 新闻摘要
        # 对象支持[]取值,为什么? 因为重写了__getitem__魔法方法
    
        img = li.find(name='img')['src'] # type:str
        # print(img)
        url = li.find(name='a')['href']
    
        # 图片下载到本地
        ret_img = requests.get('https:'+img)
        img_name = img.rsplit('/', 1)[-1]
        with open(img_name, 'wb') as f:
            for line in ret_img.iter_content():
                f.write(line)
    
        print("""
        新闻标题:%s
        新闻摘要:%s
        新闻链接:%s
        新闻图片:%s
        """%(title, desc, url, img))
    """
    
  • 相关阅读:
    Java IO总结
    Tomcat处理一个HTTP请求的过程
    Tomcat的web项目部署方式
    Tomcat性能调优
    jquery基础知识汇总
    Javascript中的正则表达式
    HTTP首部
    HTTPS
    Javascript中关于cookie的那些事儿
    HTTP请求方法详解
  • 原文地址:https://www.cnblogs.com/yafeng666/p/12663332.html
Copyright © 2011-2022 走看看