python 论坛爬虫代码_python博客文章爬虫实现代码
例子,python网页爬虫实例,实现博客文章抓取的python爬虫。 代码示例:
#!/usr/bin/python
#-*-coding:utf-8-*-
# JCrawler
# Author: Jam <810441377@qq.com>
#python爬虫 示例
import time
import urllib2
from bs4 import BeautifulSoup
# 目标站点
TargetHost = "http://adirectory.blog.com"
# User Agent
UserAgent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36'
# 链接采集规则
# 目录链接采集规则
CategoryFind = [{'findMode':'find','findTag':'div','rule':{'id':'cat-nav'}},
{'findMode':'findAll','findTag':'a','rule':{}}]
# 文章链接采集规则
ArticleListFind = [{'findMode':'find','findTag':'div','rule':{'id':'content'}},
{'findMode':'findAll','findTag':'h2','rule':{'class':'title'}},
{'findMode':'findAll','findTag':'a','rule':{}}]
# 分页URL规则
PageUrl = 'page/#page/'
PageStart = 1
PageStep = 1
PageStopHtml = '404: Page Not Found'
def GetHtmlText(url):
request = urllib2.Request(url)
request.add_header('Accept', "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp")
request.add_header('Accept-Encoding', "*")
request.add_header('User-Agent', UserAgent)
return urllib2.urlopen(request).read()
def ArrToStr(varArr):
returnStr = ""
for s in varArr:
returnStr += str(s)
return returnStr
def GetHtmlFind(htmltext, findRule):
findReturn = BeautifulSoup(htmltext)
returnText = ""
for f in findRule:
if returnText != "":
findReturn = BeautifulSoup(returnText)
if f['findMode'] == 'find':
findReturn = findReturn.find(f['findTag'], f['rule'])
if f['findMode'] == 'findAll':
findReturn = findReturn.findAll(f['findTag'], f['rule'])
returnText = ArrToStr(findReturn)
return findReturn
def GetCategory():
categorys = [];
htmltext = GetHtmlText(TargetHost)
findReturn = GetHtmlFind(htmltext, CategoryFind)
for tag in findReturn:
print "[G]->Category:" + tag.string + "|Url:" + tag['href']
categorys.append({'name': tag.string, 'url': tag['href']})
return categorys;
def GetArticleList(categoryUrl):
articles = []
page = PageStart
#pageUrl = PageUrl
while True:
htmltext = ""
pageUrl = PageUrl.replace("#page", str(page))
print "[G]->PageUrl:" + categoryUrl + pageUrl
while True:
try:
htmltext = GetHtmlText(categoryUrl + pageUrl)
break
except urllib2.HTTPError,e:
print "[E]->HTTP Error:" + str(e.code)
if e.code == 404:
htmltext = PageStopHtml
break
if e.code == 504:
print "[E]->HTTP Error 504: Gateway Time-out, Wait"
time.sleep(5)
else:
break
if htmltext.find(PageStopHtml) >= 0:
print "End Page."
break
else:
findReturn = GetHtmlFind(htmltext, ArticleListFind)
for tag in findReturn:
if tag.string != None and tag['href'].find(TargetHost) >= 0:
print "[G]->Article:" + tag.string + "|Url:" + tag['href']
articles.append({'name': tag.string, 'url': tag['href']})
page += 1
return articles;
print "[G]->GetCategory"
Mycategorys = GetCategory();
print "[G]->GetCategory->Success."
time.sleep(3)
for category in Mycategorys:
print "[G]->GetArticleList:" + category['name']
GetArticleList(category['url'])
python网页爬虫程序示例代码
Python web爬虫的小例子
python 网络爬虫(经典实用型)
python网络爬虫的代码
python编写分布式爬虫的思路
python 论坛爬虫代码_python博客文章爬虫实现代码相关推荐
- 使用Python爬取CSDN历史博客文章列表,并生成目录
使用Python爬取CSDN历史博客文章列表,并生成目录 这篇博客将介绍如何使用Python爬取CSDN历史博客文章列表,并生成目录. 2020年 2020年04月 cv2.threshold() 阈 ...
- WordPress在博客文章中添加代码片段
我是通过WordPress插件CodeColorer来达到目的的, 安装好CodeColorer后,可以在设置->codecolorer中看到 使用方法: [cc lang="编程语言 ...
- python爬取控制台信息_python爬虫实战之爬取智联职位信息和博客文章信息
1.python爬取招聘信息 简单爬取智联招聘职位信息 # !/usr/bin/env python # -*-coding:utf-8-*- """ @Author ...
- python小爬虫(爬取职位信息和博客文章信息)
1.python爬取招聘信息 简单爬取智联招聘职位信息(仅供学习) # !/usr/bin/env python # -*-coding:utf-8-*- """ @Au ...
- app python搭建_Django搭建个人博客:创建并配置APP功能模块
创建APP 在Django中的一个app代表一个功能模块.开发者可以将不同功能的模块放在不同的app中, 方便代码的复用.app就是项目的基石,因此开发博客的第一步就是创建新的app,用来实现跟文章相 ...
- Python爬虫自学与实战,爬一下自己的博客文章
文章目录 1. 什么是爬虫 2. 学习爬虫的必备知识 3. 环境准备 4. 爬虫的第一步,获取网页的HTML内容 4.1 GET 4.2 POST 5. 使用BeautifulSoup模块来从HTML ...
- python爬取新浪博客_python网络爬虫 新浪博客篇
上次写了一个爬世纪佳缘的爬虫之后,今天再接再厉又写了一个新浪博客的爬虫.写完之后,我想了一会儿,要不要在博客园里面写个帖子记录一下,因为我觉得这份代码的含金量确实太低,有点炒冷饭的嫌疑,就是把上次的代 ...
- 是否担心别人将你的博客文章全部爬下来?3行代码教你检测爬虫
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Python实用宝典 ,作者Python实用宝典 是否担心别人将你 ...
- Python爬虫入门实战1:获取CSDN个人博客文章目录及阅读量数据
☞ ░ 老猿Python博文目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036 ░ 一.引言 有阵子博客的访问量出现了比较大 ...
最新文章
- 一次次小进步,从毕业开始,你到现在飞跃了几次了,程序人生也不容易?
- RabbitMQ-从基础到实战(3)— 消息的交换(上)
- 正则表达式:Pattern 与Matcher
- 图解10大机器学习算法
- 使用默认方法进行接口演化–第二部分:接口
- nginx优化(经典)
- 深入浅出JS:Two
- C++11的dynamic_cast
- 搜索引擎的原理以及倒排索引技术
- 模乘与Montgomery 模乘
- 基本类型偏执-平行继承体系-令人着迷的暂时值域
- [附源码]Python计算机毕业设计SSM基于Yigo平台库房管理系统(程序+LW)
- nlp对语料进行分类_如何使用nlp对推文进行分类
- java 汉字转拼音_java中将汉字转换成拼音的实现代码
- 运动会分数统计(数据结构课程设计)
- 关于VMware上的VAAI特性详解
- 运用MATLAB批量读取excel表格
- leetcode844,难度easy
- Android网络框架Volley项目实战-刘桂林-专题视频课程
- 新一代液晶按键网银USBkey安全分析