Python网络爬虫爬取携程网中的游记标题及内容

最近在自学Python爬虫,会自己练习一些网站然后记录下来供大家参考,如有不对之处希望大佬多多指正

此处以爬取携程网上带有“非遗”关键词的游记为例:

首先找到需要爬取的网站的url:https://you.ctrip.com/searchsite/travels/?query=%e9%9d%9e%e9%81%97&isAnswered=&isRecommended=&publishDate=&PageNo=1

可以发现不同页码转换时只改变最后的数字,这样我们爬取不同页面时就非常方便了

利用requests库和BeautifulSoup库对页面的html进行抓取

def getHTMLText(url):
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = 'utf-8'
        return r.text
    except:
        return""

通过对页面html的观察我们发现标题内容存在<dt>标签下,于是进行遍历

for items in soup.select('dt'):
        if items.a != None:
            print(items.a.text, file=data)

再寻找每个标题下对应的具体内容的href

nxt = 'https://you.ctrip.com' + items.a['href']
            html2 = getHTMLText(nxt)

同理可以爬取具体内容

完整代码已上传GitHub

ps:第一次发csdn可能写得不太好(doge)

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要使用Python编写爬虫来获取携程游记的信息,您可以按照以下步骤进行操作: 1. 导入所需的库:您可以使用`requests`库来发送HTTP请求,使用`BeautifulSoup`库来解析HTML页面。 2. 发送HTTP请求并获取页面内容:使用`requests`库发送GET请求,获取携程游记的页面内容。 3. 解析HTML页面:使用`BeautifulSoup`库解析页面内容,提取出游记的相关信息。 4. 提取游记信息:根据页面的HTML结构,使用`BeautifulSoup`库提取游记标题、作者、发布时间、内容等信息。 5. 存储游记信息:您可以选择将提取到的游记信息存储到文件或数据库,以便后续使用或分析。 以下是一个简单的示例代码,以帮助您开始编写爬虫: ```python import requests from bs4 import BeautifulSoup # 发送HTTP请求并获取页面内容 url = 'https://you.ctrip.com/travels' response = requests.get(url) html_content = response.text # 解析HTML页面 soup = BeautifulSoup(html_content, 'html.parser') # 提取游记信息 travel_list = soup.find_all('div', class_='journals_list') for travel in travel_list: title = travel.find('h2').text author = travel.find('span', class_='username').text publish_time = travel.find('span', class_='time').text content = travel.find('div', class_='ctd_content').text # 打印游记信息 print('标题:', title) print('作者:', author) print('发布时间:', publish_time) print('内容:', content) print('---') ``` 请注意,这只是一个简单的示例代码,具体的网页结构可能会有所变化,您可能需要根据实际情况做一些调整。此外,爬取网页内容时请尊重网站的规则和条款,并遵循合适的爬取频率,以免对网站造成过大的负担。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值