python爬虫re+requests+bs4爬取汽车之家全部过程,附代码。支持互联网免费至上,看了全部关于汽车之家的文章都是收费的,我很看不过去

爬虫项目讲解

 

我做的是爬取汽车之家全部车型以及配置表的爬虫代码

我们要爬取的就是这个网站 https://www.autohome.com.cn

这边我已经爬取完毕,但是有一些错误,后续说

 第一步先找到汽车之家全部的车型

 

 通过刷新网络然后就可以找到了车型库的链接了

https://car.autohome.com.cn/AsLeftMenu/As_LeftListNew.ashx?typeId=2%20&brandId=0%20&fctId=0%20&seriesId=0

 原本的车型库地址是上面这个,但是后来搞糊涂了,typeid的值让我换成了1,就将错就错的一直写下去了,不过思路都是一样的(其实是原本的地址车型太多了,更容易出错)

我写的车型库地址是下面这个

 https://car.autohome.com.cn/AsLeftMenu/As_LeftListNew.ashx?typeId=1%20&brandId=134%20&fctId=0%20&seriesId=0

 找到了车型库的地址那我们就要把全部的车型都给爬出来先

第一步代码如下

#先引入几个爬虫常用的库,都是新手级别的,我也是刚学python几天,没事摸摸鱼练练手
import requests
import re
from bs4 import BeautifulSoup


#1.创建一个访问网页的函数
def askurl(url):
    headers = {
        "user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 QIHU 360SE"
    }
    html = requests.get(url,headers=headers)
    return html.text



#2.先获取到车型库的车型
def getcars():
    html = askurl('https://car.autohome.com.cn/AsLeftMenu/As_LeftListNew.ashx?typeId=1%20&brandId=134%20&fctId=0%20&seriesId=0')
    print(html)



#3.运行代码
def main():
    getcars()




#4.主程序
if __name__ == '__main__':
    main()

运行得到以下的数据,通过观察,可以看到每个厂家都有固定的brand值,那这个brand值的作用就是可以从刚刚的车型库链接获取到车厂所有的车型,例如本田的可以获取到雅阁这个车型的某些值

我们把第一个brand的值替换掉车型库链接的brandid的值,就可以展开车厂所拥有的车型链接了

  • 11
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是一个简单的用 Python 爬取汽车之家图片的示例爬虫爬虫代码: ``` import requests import os from bs4 import BeautifulSoup def download_img(url, path): r = requests.get(url, stream=True) if r.status_code == 200: with open(path, 'wb') as f: for chunk in r: f.write(chunk) def crawler(base_url, output_dir): r = requests.get(base_url) soup = BeautifulSoup(r.text, 'html.parser') img_tags = soup.find_all('img') for img in img_tags: if 'src' in img.attrs: img_url = img.attrs['src'] if img_url.startswith('//'): img_url = 'http:' + img_url elif not img_url.startswith('http'): img_url = base_url + '/' + img_url print('Downloading image: %s' % img_url) filename = os.path.join(output_dir, img_url.split('/')[-1]) download_img(img_url, filename) if __name__ == '__main__': base_url = 'https://www.autohome.com.cn/news/' output_dir = './images' if not os.path.exists(output_dir): os.mkdir(output_dir) crawler(base_url, output_dir) ``` 该爬虫将从汽车之家的新闻页面 `https://www.autohome.com.cn/news/` 中爬取所有图片,并将其保存到本地目录 `./images` 中。 首先,爬虫会使用 requests 向页面发送 GET 请求并获取页面 HTML,接着使用 BeautifulSoup 将其解析为文档对象。然后,通过查找 HTML 标签中的 img 标签,找到所有图片,并将其下载到本地目录。 在下载图片时,使用 requests 传递 "stream=True" 参数以保证请求不会立即下载整个响应内容。通过逐块处理响应,可以防止过多占用内存。然后,将内容写入文件中。 在主函数中,定义了基础 URL 和保存图像的输出目录。使用 os 模块确保输出目录存在并调用爬虫函数开始爬取

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值