python教程

Python批量采集wordpress网站数据爬虫脚本

我的站长站 2023-02-13 人阅读

分享一段非常简单的Python批量采集wordpress网站数据的爬虫脚本,实现采集wordpress程序的网站的整站数据的爬虫程序。从首页开始,抓取href标签,到子页面后还是要继续找href标签,采用Python递归方法,直接贴代码吧!

import re
import bs4
import urllib.request
 
url_home = 'https://www.wdzzz.com/'  #要采集的网站
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) + ' 条数据')


相关推荐
  • python爬虫
  • Python好看视频地址解析下载代码

    #encoding:utf-8# 好看视频下载 import socketfrom urllib.request import urlopenimport urllibimport reimport timefrom pyquery import PyQuery as pqimport requestsfrom tqdm import tqdm # 打印进度条的库import gzip print('程序开始运...

    python教程 134 2年前
  • python美女写真图库爬虫

    import requestsfrom lxml import etreeimport csvfrom time import sleepimport osfrom concurrent.futures import ThreadPoolExecutor headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit...

    python教程 55 3年前
  • 笔趣阁小说网Python爬虫分享

    #[url=https://www.biquge.info/wanjiexiaoshuo/]https://www.biquge.info/wanjiexiaoshuo/[/url] 笔趣阁小说全本爬虫import timeimport requestsimport osimport randomfrom lxml import etreeimport webbrowserheader = { "User-Agent": "Mo...

    python教程 167 3年前
最新更新