Python爬虫_深圳活动

该博客分享了一段Python代码,用于爬取豆瓣上深圳地区的活动信息,包括活动名字、标签、时间、位置和价格,并将数据保存到Excel表格中,便于查看和参与感兴趣的活动。代码中设置了模拟浏览器头部信息以避免被网站识别为机器人。爬取的数据每10条保存一次,最终生成了一个包含多个活动详情的表格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个人在深圳蛮无聊的所以爬一下豆瓣上深圳有的活动,方便参加。

在这里插入图片描述

获取 名字、标签、时间、位置、价格 对于自己中意的直接参加或者了解详细后再说,爬取这个主要是有生成一个表格方便直接处理。 下面是代码:

import re
import requests
import bs4
import re
import xlwt as xlwt

title = re.compile(r'<a .*title=(.*)">')
tag = re.compile(r'<a.*p=future">(.*)</a>')
time = re.compile(r'20..年.*~.*')
local = re.compile(r'<li title="(.*)"')
money = re.compile(r'<strong>(.*)<')
urls = []
head = {  # 模拟浏览器头部信息,向豆瓣发消息
        "User-Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, like; Gecko) Chrome / 86.0; .4240; .198; Safari / 537.36"}
book = xlwt.Workbook(encoding="utf-8", style_compression=0)  # 创建对象
sheet = book.add_sheet('深圳活动', cell_overwrite_ok=True)  # 创建工作表
col = ("名字", '标签', '时间', '位置', '钱')
for i in range(5):
    sheet.write(0,i,col[i])
book.save('深圳活动.xls')
num = 0
for i in range(0, 500, 10):
    url = 'https://www.douban.com/location/shenzhen/events/future-all?start=' + str(i)

    print(url)
    print(num)
    page_html = requests.get(url,headers=head).text
    # print(page_html)

    soup = bs4.BeautifulSoup(page_html,'html.parser')
    li_num =0
    for item in soup.find_all('li', class_ ='list-entry'):
        li = []

        if li_num !=10:
            li_num +=1
            num +=1
            item = str(item)
            Title = re.findall(title,item)[0]
            li.append(Title)

            Tag = re.findall(tag,item)
            li.append(Tag)

            Time = re.findall(time,item)
            li.append(Time)

            Local = re.findall(local,item)
            li.append(Local)

            Money = re.findall(money,item)
            li.append(Money)

            for i in range(5):
                sheet.write(num, i,li[i])
            book.save('深圳活动.xls')
        # 这里写的很蠢是因为爬取title的时候超出长度,一直不理解,想着每次也是爬10个就这么搞了。有更好的方法可以评论
        elif num %10 == 0:
            num +=1
            break

获取后的表格,总感觉加个链接会更好- -,两行代码的事有兴趣的可以自己搞。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值