python3+beautifulsoup4爬取汽车信息
- 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爬取汽车信息的更多相关文章
- python3.x爬取美团信息
在之前的文章中,笔者有提到,我们要在实践中去学习python,笔者有天就想着要不要爬点东西呢,跃跃欲试的节奏啊,想来想去,想到美团了,那么首先笔 者想给自己确定一个目标,就是我要爬什么样的数据,我要爬 ...
- python3 爬取汽车之家所有车型数据操作步骤(更新版)
题记: 互联网上关于使用python3去爬取汽车之家的汽车数据(主要是汽车基本参数,配置参数,颜色参数,内饰参数)的教程已经非常多了,但大体的方案分两种: 1.解析出汽车之家某个车型的网页,然后正则表 ...
- Python爬虫——使用 lxml 解析器爬取汽车之家二手车信息
本次爬虫的目标是汽车之家的二手车销售信息,范围是全国,不过很可惜,汽车之家只显示100页信息,每页48条,也就是说最多只能够爬取4800条信息. 由于这次爬虫的主要目的是使用lxml解析器,所以在信息 ...
- python3爬虫-爬取58同城上所有城市的租房信息
from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, dat ...
- Python3从零开始爬取今日头条的新闻【二、首页热点新闻抓取】
Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...
- 从0开始学爬虫8使用requests/pymysql和beautifulsoup4爬取维基百科词条链接并存入数据库
从0开始学爬虫8使用requests和beautifulsoup4爬取维基百科词条链接并存入数据库 Python使用requests和beautifulsoup4爬取维基百科词条链接并存入数据库 参考 ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- python学习之——爬取网页信息
爬取网页信息 说明:正则表达式有待学习,之后完善此功能 #encoding=utf-8 import urllib import re import os #获取网络数据到指定文件 def getHt ...
- Python3从零开始爬取今日头条的新闻【一、开发环境搭建】
Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...
随机推荐
- Perl处理数据(二):tr和y///
tr和y///是等价的.用来实现一一映射,但也有额外的功能,就像Linux下的tr命令一样. 用法: tr/SEARCH/REPLACEMENT/cdsr y/SEARCH/REPLACEMENT/c ...
- Hyperledger Fabric链码之一
什么是链码(Chaincode)? 我们知道区块链有3个发展阶段:区块链1.0,区块链2.0,区块链3.0.其中区块链2.0就是各种区块链平台百花齐放的阶段,区块链2.0最大的特点就是智能合约,我们接 ...
- PHP开发中bcscale timezone charset的设定
关于php的开发,有几个细节设定,需要知悉下:在项目的init.php 或 index.php 或 api.php 1. bcscale(18); 表示bc函数,默认小数点位数. 没有设定的话,默认为 ...
- C#序列化与反序列化。
序列化介绍: 把对象用一种新的格式来表示. 系列化只序列化数据. 序列化不建议使用自动属性 为什么要序列化: 将一个复杂的对象转换流,方便存储与信息交换. class Program { static ...
- 一个小时学会Maven
一.为什么要Maven 在开发中经常需要依赖第三方的包,包与包之间存在依赖关系,版本间还有兼容性问题,有时还里要将旧的包升级或降级,当项目复杂到一定程度时包管理变得非常重要. Maven是当前最受欢迎 ...
- .Net EF6+Mysql 环境搭建
由于一直使用的数据库是mysql,之前所用的orm都是轻量级的例如 dapper 这些的,然后想用ef配置一下mysql,总共时间花了差不多2天,才将坑填完,写个博客将流程记录一下 给后来者少掉点坑. ...
- 28.QT-QPainter介绍
介绍 可以在QPaintDevice类上绘制各种图形 QPaintDevice类表示QPainter的绘图设备(画布) QpaintDevice子类有QImage.QOpenGLPaintDevice ...
- 【Java每日一题】20170310
20170309问题解析请点击今日问题下方的“[Java每日一题]20170310”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...
- SpringBoot的打包失败
打包是根据pom.xml文件来打的包. 如果使用Maven的默认打包,只会将src/main下的java和resources里面的内容打进Jar包中. 通过maven-assembly-plugin这 ...
- javascript 点击触发复制功能
摘要: js调用复制功能使用: document.execCommand("copy", false); document.execCommand()方法功能很强大,了解更多请戳: ...