赞
踩
1、python编译器IDLE
或者下载pycharm(网上有教程和破解期限)
导入requests包和BeautifulSoup4包。
(快速下载包方法见我的博客【快速pip下载python包】文章)
2、chrome谷歌浏览器(ie也凑合用)
对 https://go.hao123.com/ 的一些旅游项目的价格的爬虫
对下面这部分的信息,包括名称,价格,图片的爬取。
import requests from bs4 import BeautifulSoup headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'} url = requests.get('https://go.hao123.com', headers=headers)#请求这个网址 soup = BeautifulSoup(url.content, "lxml")#解析网址 #print(soup) #可以查看HTML源代码 images = soup.select('body > div.content-outer-wrapper > div > div > div.tejia-menpiao > div.container > div > div > div.pic > a > img') prices = soup.select('body > div.content-outer-wrapper > div > div > div.tejia-menpiao > div.container > div > div > div.price > a > div.new') names = soup.select('body > div.content-outer-wrapper > div > div > div.tejia-menpiao > div.container > div > div > div.pic > a > div') data = {} #三个同时遍历用到zip() for name, price, image in zip(names, prices, images): data = { 'name': name.get_text(), 'price': price.get_text(), 'img': image.get('src') } print(data) #遍历列表,并用字典存储
代码中的soup.select(’*******’)这里解释一下使用方法。
谷歌浏览器打开网页
鼠标放在你所要抓取的图片上右键检查
之后你会看到以下源代码,并且有一部分被索引着。
然后鼠标放在索引着的部分右键 copy --> copy selector ,你会得到以下代码
body > div.content-outer-wrapper > div > div:nth-child(2) > div.tejia-menpiao > div.container > div:nth-child(2) > div:nth-child(1) > div.pic > a > img
将里面的 :nth-child(2) 或者 :nth-child(1) 之类的这种删除,别的什么都不用动,空格也不要删。之后剩下的就是soup.select()里面填写的,挑选图片的。挑选别的方法类似。
body > div.content-outer-wrapper > div > div > div.tejia-menpiao > div.container > div: > div > div.pic > a > img
图片好像有点问题,还需要调整,图片的url最后都是blank.gif
谢谢支持,本人亲测成功运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。