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. Tomcat(三):tomcat处理连接的详细过程

    Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html tomcat可以处理静态资源的请求,也可以通过servlet处理动态资源的请求 ...

  2. MEF 基础简介 二

    MEF的导出(Export)和导入(Import) using System; using System.Collections.Generic; using System.Linq; using S ...

  3. JAVA & .NET创建对象构造函数调用顺序

    JAVA 定义Person类 package models; ​ public class Person { public Person() { System.out.println("pe ...

  4. 【Java每日一题】20170215

    20170214问题解析请点击今日问题下方的“[Java每日一题]20170215”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public cla ...

  5. java——初识

    java是现在最火的高级编程语言之一,功能强,应用广. java可以做什么? 1. 开发桌面应用程序 2. 开发面向Internet的应用程序 开发java程序的基本步骤: 1. 编写源程序:mypr ...

  6. Java基础IO流(五)RandomAccessFile

    RandomAccessFile java提供的对文件内容的访问,既可以读文件也可以写文件.RandomAccessFile支持随机访问文件,可以访问文件的任意位置 (1)java文件模型:    在 ...

  7. php环境安装

    Windows安装 下载php压缩包, http://php.net/downloads.php, 一定要下载Windows版本的呦 将压缩包解压到指定目录下: 创建配置文件, 其中有两个配置文件在根 ...

  8. kafka指定partition的分区规则

    博客地址:https://www.cnblogs.com/gnivor/p/5318319.html

  9. JavaScript是如何工作: 深入探索WebSocket和HTTP/2与SSE + 如何选择正确的路径!

    原文:<JavaScript是如何工作: 深入探索 websocket 和HTTP/2与SSE +如何选择正确的路径! 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 文章底部分 ...

  10. mapper代理查询

    对于查询来说,要根据具体的业务,来指定mapper接口中方法的返回值类型1:如果只返回一条记录,mapper接口中方法的返回值类型应指定为pojo类型或其他简单类型,这样mybatis内部就会使用se ...