爬虫入门---半自动爬虫爬取贴吧

一、半自动爬虫

1.半自动爬虫概念

所谓半自动爬虫,顾名思义就是一半手动一半自动地进行爬虫,手动的部分是把网页的源代码复制下来,自动部分是通过正则表达式把其中有效信息提取出来。

2.爬虫目标

我所选取的爬虫目标是本校的贴吧,其中某研究生学长说有历年的题目可以免费分享,只要留下你的QQ。(我觉得这是想进行社会工程学的行为。)

3.爬取的效果

在这里插入图片描述

4.源代码

import  re
import  csv

with open('source.txt', 'r', encoding='UTF-8') as f:
    source = f.read()

result_list = []

#获取每一个模块
every_reply = re.findall('d_post_content_main">(.*?)icon_wrap  icon_wrap_theme1 d_pb_icons', source, re.S)

#从每一个模块提取出各个楼层的发帖人姓名、发帖内容和时间
for each in every_reply:
    result = {}
    result['username'] = re.findall('username="(.*?)"', each, re.S)[0]
    result['content'] = re.findall('j_d_post_content  clearfix" style="display:;">(.*?)<', each, re.S)[-1].replace('            ','')
    result['reply_time'] = re.findall('&quot;date&quot;:&quot;(2020.*?)&quot', each, re.S)[0]
    result_list.append(result)

with open('tieba.csv', 'w', encoding='UTF-8') as f:
    writer = csv.DictWriter(f, fieldnames=['username', 'content', 'reply_time'])
    writer.writeheader()
    writer.writerows(result_list)

总结

因为爬取的是一个静态文件,所以难度不大,只需掌握简单的正则表达式知识就可以做到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值