所有分类
  • 所有分类
  • 网站源码
  • 游戏源码
  • 小程序
  • 网页特效
  • 软件工具

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

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

import re
import bs4
import urllib.request
  
url_home = 'http://www.yonghengzy.cn/'  #要采集的网站
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) + ' 条数据')
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站日常活跃所需,积分可通过日常活跃免费获得!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励,同时还能获得对应的人气!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:http://www.yonghengzy.cn/32902.html,转载请注明出处。
0
分享海报

评论0

请先
显示验证码

社交账号快速登录