Logo

Logo

Python实现采集wordpress整站数据的爬虫

Pastore Antonio
Pastore Antonio 2021年12月11日
353 阅读 0 评论 约 1434 字 阅读约 3 分钟

最近爱上了python,就非常喜欢使用python来练手,在上次的基础上完善一下代码,实现采集wordpress程序的网站的整站数据的爬虫程序,本站也是采用的wordpress,我就拿吾八哥网(http://www.5bug.wang/)来练手了!简单分析下这个爬虫的思路,从首页开始,抓取href标签,到子页面后还是要继续找href标签,那么很容易想到要用到递归了,直接贴代码吧!写了点简单的注释,如下:

import re
import bs4
import urllib.request

url_home = 'http://www.5bug.wang/'  #要采集的网站
url_pattern = url_home + '([\s\S]*)\.html' #正则表达式匹配文章页面,此处需完善为更好的写法
url_set = set()
url_cache = set()
url_count = 0
url_maxCount = 1000  #最大采集数量

#采集匹配文章内容的href标签
def spiderURL(url, pattern):
    html = urllib.request.urlopen(url).read().decode('utf8')
    soup = bs4.BeautifulSoup(html, 'html.parser')
    links = soup.find_all('a', href = re.compile(pattern))
    for link in links:
        if link['href'] not in url_cache:
            url_set.add(link['href'])
    return soup

#采集的过程  异常处理还需要完善,对于一些加了防采集的站,还需要处理header的,下次我们再学习
spiderURL(url_home, url_pattern)

while len(url_set) != 0:
    try:
        url = url_set.pop()
        url_cache.add(url)
        soup = spiderURL(url, url_pattern)
        page = soup.find('div', {'class':'content'})

        title = page.find('h1').get_text()
        autor = page.find('h4').get_text()
        content = page.find('article').get_text()

        print(title, autor, url)
    except Exception as e:
        print(url, e)
        continue
    else:
        url_count += 1
    finally:
        if url_count == url_maxCount:
            break

print('一共采集了: ' + str(url_count) + ' 条数据')

  

查看完整代码

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
部分文章可能存在转载,如果涉及到侵权,请联系删除文章。

探索AIGC相关的精彩内容,共 14 篇文章

MCP | 一文详解什么是 MCP以及 MCP 可以做什么

一、什么是 MCP MCP(Model Context Protocol)是一个专为大型语言模型(L ... Python实现采集wordpress整站数据的爬虫

2026-02-14 · Shen, Luke
你的工作流程,值得一个“全自动数字分身”:录制、截图、成文,一气呵成

一、一句话认识 TestFlow Recorder 在数字化工作环境中,如何准确记录操作步骤并生成清 ... Python实现采集wordpress整站数据的爬虫

2026-02-14 · Xzavier Aaron
Flowise 前端框架配置指南

用户需求 问题:有没有适合配置 Flowise 的前端框架? 目标:寻找类似 Open WebUI ... Python实现采集wordpress整站数据的爬虫

2026-02-14 · Xzavier Aaron
高效AI故障诊断实践:提升企业运维能力

规划阶段 在现代企业的故障诊断过程中,规划阶段是确保诊断工作顺利开展的关键环节。通过系统化的规划,不 ... Python实现采集wordpress整站数据的爬虫

2026-02-14 · Shen, Luke