【爬虫练习】基于urllib库简单爬取贴吧案例
import urllib.request
import re
def download_page(url):
"""下载页面内容"""
response = urllib.request.urlopen(url)
return response.read().decode('utf-8')
def parse_page(html):
"""解析页面,提取帖子链接和标题"""
# 使用正则表达式匹配帖子链接和标题
pattern = re.compile(r'<a href="(.+?)" target="_blank">(.+?)</a>')
items = re.findall(pattern, html)
return items
def save_to_file(content):
"""将内容保存到文件"""
with open('data.txt', 'a', encoding='utf-8') as f:
f.write(content)
f.write('\n')
def main(url):
"""主函数,控制流程"""
html = download_page(url)
items = parse_page(html)
for item in items:
link, title = item
print(f'下载中: {title}')
save_to_file(f'标题: {title}\n链接: {link}')
if __name__ == '__main__':
url = 'https://tieba.baidu.com/f?kw=python&ie=utf-8&pn=0'
main(url)
这段代码实现了一个简单的基于urllib
库的网页爬取示例。它下载了百度贴吧中关于"Python"的第一页内容,解析页面后提取出每个帖子的标题和链接,并将它们保存到文件中。这个例子教会了如何使用urllib
库进行基本的网页下载和正则表达式的基本应用。
评论已关闭