import requests
from bs4 import BeautifulSoup
response = requests.get("https://www.autohome.com.cn/news/") # 01 发送请求
response.encoding = response.apparent_encoding # 格式转换防止页面中文乱码 自动获得返回数据原来的编码
# print(response.text) # 打印整个html文本 soup = BeautifulSoup(response.text,features="html.parser") # 02 soup :整体的框架 把html文本转换成soup对象,features="表示引擎"
target = soup.find(id="auto-channel-lazyload-article") # 03 soup==>>div :在soup框架种找里面的文本内容先找做大的哪个div 标签 从id =" " 的标签开始
# print(target) # 只打印div标签内容 li_list=target.find_all("li") # find表示只找第一个li的标签,find_all表示找所有的
# print(li_list) #打印所有的div里面的li标签,打印的是列表类型,不是 beautifulsuop 的对象 for i in li_list: a = i.find("a") # 04 找soup==>>div==>>li_list :不是 beautifulsuop 的对象,是一个列表。但li_list[0]是,可以用for循环来查找
if a: # 因为有些li标签没有a 所有用个if判断语句有a的话在执行下面的
print('http:'+a.attrs.get('href')) # 打印所有li中的a标签 (a.attrs )表示找到a标签的属性值,打印所有a标签的链接 h3_txt= a.find("h3") .text # 05 找soup==>>div==>>li_list==>>h3 :查找 li 标签里面的 h3 标签 .text 获取对象的文本,返回的是字符串格式
print(h3_txt) # 打印li 标签里面的 h3 标签的内容 # type查看属性type(h3_txt) img_url = a.find('img') .attrs.get('src') # 06 找soup==>>div==>>li_list==>>img :查找 li 里面的 img 标签 并获取标签属性值,既标签的链接
print('http:'+img_url) # 打印li 标签里面的 图片链接 的内容 '''
07 保存图片到本地
'''
import uuid
image_reponse = requests.get(url='http:'+img_url) file_name = str(uuid.uuid4()) + '.jpg' # 用uuid随机生成名字 with open(file_name, 'wb') as f:
f.write(image_reponse.content) # reponse.content返回字节 reponse.text 返回的是字符串 reponse.encoding reponse.reparent_encoding自动获得返回数据原来的编码

python3+beautifulsoup4爬取汽车信息的更多相关文章

  1. python3.x爬取美团信息

    在之前的文章中,笔者有提到,我们要在实践中去学习python,笔者有天就想着要不要爬点东西呢,跃跃欲试的节奏啊,想来想去,想到美团了,那么首先笔 者想给自己确定一个目标,就是我要爬什么样的数据,我要爬 ...

  2. python3 爬取汽车之家所有车型数据操作步骤(更新版)

    题记: 互联网上关于使用python3去爬取汽车之家的汽车数据(主要是汽车基本参数,配置参数,颜色参数,内饰参数)的教程已经非常多了,但大体的方案分两种: 1.解析出汽车之家某个车型的网页,然后正则表 ...

  3. Python爬虫——使用 lxml 解析器爬取汽车之家二手车信息

    本次爬虫的目标是汽车之家的二手车销售信息,范围是全国,不过很可惜,汽车之家只显示100页信息,每页48条,也就是说最多只能够爬取4800条信息. 由于这次爬虫的主要目的是使用lxml解析器,所以在信息 ...

  4. python3爬虫-爬取58同城上所有城市的租房信息

    from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, dat ...

  5. Python3从零开始爬取今日头条的新闻【二、首页热点新闻抓取】

    Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...

  6. 从0开始学爬虫8使用requests/pymysql和beautifulsoup4爬取维基百科词条链接并存入数据库

    从0开始学爬虫8使用requests和beautifulsoup4爬取维基百科词条链接并存入数据库 Python使用requests和beautifulsoup4爬取维基百科词条链接并存入数据库 参考 ...

  7. [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】

    [python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...

  8. python学习之——爬取网页信息

    爬取网页信息 说明:正则表达式有待学习,之后完善此功能 #encoding=utf-8 import urllib import re import os #获取网络数据到指定文件 def getHt ...

  9. Python3从零开始爬取今日头条的新闻【一、开发环境搭建】

    Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...

随机推荐

  1. WinFrom Thread里面new出来的控件不显示

    那本More Effective C# 好多天没看了..惭愧. 做个小笔记吧. 今天碰到一个问题,描述如题. 何解?其实很简单,因为Thread里面new出来的控件的Parent是null,然后他就不 ...

  2. Http协议中get和post的区别

    get(默认值)是通过URL传递表单值,数据追加在action属性后面. post传递的表单值是隐藏到http报文体中,url中看不到. get是通过url传递表单值,post通过url看不到表单域的 ...

  3. [总结] Min-Max容斥学习笔记

    min-max 容斥 给定集合 \(S\) ,设 \(\max(S)\) 为 \(S\) 中的最大值,\(\min(S)\) 为 \(S\) 中的最小值,则: \[\max(S)=\sum_{T\in ...

  4. ZooKeeper系列(4):ZooKeeper的配置文件详解

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk zkServer.sh读取的默认配置文件是$ZOOKEEPER_ ...

  5. Python系列:三、流程控制循环语句--技术流ken

    Python条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非 ...

  6. Spring Cloud Stream如何消费自己生产的消息?

    在上一篇<Spring Cloud Stream如何处理消息重复消费>中,我们通过消费组的配置解决了多实例部署情况下消息重复消费这一入门时的常见问题.本文将继续说说在另外一个被经常问到的问 ...

  7. [PHP]代码执行和生命周期

    PHP代码的执行:1.和大部分程序一样,接收数据,处理数据,输出结果2.编写的代码就是输入的数据,php内核进行处理,返回相应的输出3.php作为业务程序和编译语言的区别就是,php多了一步把用户代码 ...

  8. fork/join 全面剖析

    fork/join作为一个并发框架在jdk7的时候就加入到了我们的java并发包java.util.concurrent中,并且在java 8 的lambda并行流中充当着底层框架的角色.这样一个优秀 ...

  9. JS之console.log详解以及兄弟姐们邻居方法扩展

    console.log() 基本用法 console.log,前端常用它来调试分析代码,你可以在任何的js代码中调用console.log(),然后你就可以在浏览器控制台看到你刚才打印的常量,变量,数 ...

  10. BZOJ4805: 欧拉函数求和(杜教筛)

    4805: 欧拉函数求和 Time Limit: 15 Sec  Memory Limit: 256 MBSubmit: 614  Solved: 342[Submit][Status][Discus ...