python爬虫--旅游景点

对旅游景点价格的爬虫

一、准备工作

1、python编译器IDLE
或者下载pycharm(网上有教程和破解期限)
导入requests包和BeautifulSoup4包。
(快速下载包方法见我的博客【快速pip下载python包】文章)
2、chrome谷歌浏览器(ie也凑合用)

https://go.hao123.com/ 的一些旅游项目的价格的爬虫
在这里插入图片描述

对下面这部分的信息,包括名称,价格,图片的爬取。
在这里插入图片描述

代码如下

import requests
from bs4 import BeautifulSoup
url = requests.get('https://go.hao123.com')#请求这个网址
soup = BeautifulSoup(url.content, "lxml")#解析网址
#print(soup)  #可以查看HTML源代码
images = soup.select('body > div.content-outer-wrapper > div > div > div > div > div > div > div > 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

最后输出结果

在这里插入图片描述

谢谢支持,本人亲测成功运行。

猜你喜欢

转载自blog.csdn.net/qq_43371004/article/details/83686312