zoukankan      html  css  js  c++  java
  • 使用BeautifulSoup爬取汽车之家新闻

    1 先select到改数据上层的标签,取第一个[0],然后attrs获取单标签里面的内容,或者get_text获取成对标签内文本
    2 find就是明确了标签之后,是唯一的,就可以使用find(标签名).get_text(),不需要加0
    import requests
    from bs4 import BeautifulSoup
    
    
    def search(url):
        response = requests.get(url)
        response.encoding = 'gbk'
        text = response.text
        with open('a.html', 'wt', encoding='utf-8')as f:
            f.write(text)
        soup = BeautifulSoup(text, 'lxml')
        news = soup.find(id="auto-channel-lazyload-article").select('ul li a')
        # print(news)
        for new in news:
            '''
            1 先select到改数据上层的标签,取第一个[0],然后attrs获取单标签里面的内容,或者get_text获取成对标签内文本
            2 find就是明确了标签之后,是唯一的,就可以使用find(标签名).get_text(),不需要加0
            '''
            link = new.attrs['href']
            img = new.select('.article-pic img')[0].attrs['src']
            title=new.find('h3').get_text()
            sub_time=new.select('.fn-left')[0].get_text()
            num=new.select('.fn-right em')[0].get_text()
            browsing_num=new.find('p').get_text()
            print(link,img,title,sub_time,num,browsing_num)
            print(
                '''
                链接:http:%s
        图片:http:%s
        标题:%s
        发布时间:%s
        浏览数:%s
        介绍:%s
                '''%(link,img,title,sub_time,num,browsing_num)
            )
    
    if __name__ == '__main__':
        url = 'https://www.autohome.com.cn/news'
        search(url)
  • 相关阅读:
    八、springboot 简单优雅的通过docker-compose 构建
    【并发编程】ThreadLocal其实很简单
    计算机网络
    相似度
    不同激活函数的区别
    快速排序+归并排序
    xgboost
    c++面试
    PCA算法和SVD
    各种排序算法的时间复杂度和空间复杂度
  • 原文地址:https://www.cnblogs.com/ouyang99-/p/11245699.html
Copyright © 2011-2022 走看看