python爬虫:爬去汽车之家

汽车之家网址:https://www.autohome.com.cn/news/ 
使用的模块:requests 、BeautifulSoup 

这就是我们要爬取的信息 

按F12审查一下元素:找到了对应的信息。而且发现要爬取的图片都在id=auto-channel-lazyload-article的div标签下的li标签里。 

li标签下的a标签就是新闻的url;image标签,src就是获取图片的url; 
请求图片地址,将获取到的内容写成二进制文件,保存下来。 


这就是完整的思路,接下来看一下代码:

完整代码:

  1. import requests
  2. from bs4 import BeautifulSoup
  3. url='https://www.autohome.com.cn/news/'
  4. response=requests.get(url)
  5. response.encoding=response.apparent_encoding
  6. soup=BeautifulSoup(response.text,'html.parser')
  7. target = soup.find(id='auto-channel-lazyload-article')
  8. li_list=target.find_all('li')
  9. for i in li_list:
  10.     a=i.find('a')
  11.     if a:
  12.         print(a.attrs.get('href'))
  13.         txt=a.find('h3').text
  14.         print(txt)
  15.         img = a.find('img').attrs.get('src')
  16.         print(img)
  17.         img_response=requests.get(url='http:'+img)
  18.         import uuid#用来生成唯一识别码的。具有多种算法
  19.         file_name=str(uuid.uuid4())+'.jpg' 
  20.         with open(file_name,'wb')as f:
  21.             f.write(img_response.content)


这里用到了uuid模块,是用来生成唯一识别码的。具有多种算法。

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。另外我们也可以在e2fsprogs包中的UUID库找到实现。 
python中的uuid模块 


uuid模块在Python 2.5以后引入,接口包括:不可变对象UUID(UUID类)和函数uuid1()、uuid3()、uuid4()和uuid5(),后面的四个函数用于生成 RFC 4122 规范中指定的第1、3、4、5版UUID。使用uuid1()或uuid4()可以获得一个唯一的ID,uuid1()包含了主机的网络名称,uuid4()不涉及网络主机名,仅生成一个随机UUID,因此从隐私保护角度uuid4()更加安全。 
此文代码中使用的就是uuid4()。
 

收集了一些python爬虫和大数据/数据分析相关的资料,想要的话关注威信公众号【南城故梦】,即可获得网盘下载链接哈~

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Python requests 和 BeautifulSoup 开发爬虫 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值