python爬取网站的某一句话,python正则爬取某段子网站前20页段子(request库)过程解析...

这是一个Python爬虫程序,用于抓取内涵段子网站的前20页内容。它通过构造URL,发送HTTP请求并使用正则表达式解析HTML,提取数据,最终将内容保存到'neihan.txt'文件中。该爬虫使用了requests库进行网络请求,用re库进行正则匹配,并利用json.dumps确保内容以UTF-8编码写入文件。
摘要由CSDN通过智能技术生成

import requests

import re

import json

class NeihanSpider(object):

"""内涵段子,百思不得其姐,正则爬取一页的数据"""

def __init__(self):

self.temp_url = 'http://www.budejie.com/text/{}' # 网站地址,给页码留个可替换的{}

self.headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',

}

def pass_url(self, url): # 发送请求,获取响应

print(url)

response = requests.get(url, headers=self.headers)

return response.content.decode()

def get_first_page_content_list(self, html_str): # 提取第一页的数据

content_list = re.findall(r'

s* (.+?)', html_str) # 非贪婪匹配

return content_list

def save_content_list(self, content_list):

with open('neihan.txt', 'a', encoding='utf-8') as f:

for content in content_list:

f.write(json.dumps(content, ensure_ascii=False))

f.write('n') # 换行

print('成功保存一页!')

def run(self): # 实现主要逻辑

for i in range(20): # 只爬取前20页数据

# 1. 构造url

# 2. 发送请求,获取响应

html_str = self.pass_url(self.temp_url.format(i+1))

# 3. 提取数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值