python+正则提取+ip代理爬取糗事百科文字信息
很多网站都有反爬措施,最常见的就是封ip,请求次数过多服务器会拒绝连接,如图;

在程序中设置一个代理ip,可有效的解决这种问题,代码如下;
# 需要的库
import requests
import re
from multiprocessing import Pool
# 设置代理ip
proxy = {
'https':'111.231.140.109:8888'
}
# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}
# 主函数
def get_character(url):
# 请求网页,里面加入代理ip
response = requests.get(url,headers,proxies=proxy)
# 正则提取内容(作者昵称,内容,好笑数量,评论数量)
data = re.findall('<h2>(.*?)</h2>.*?<div class="content">.*?<span>(.*?)</span>.*?</div>.*?<span class="stats-vote">.*?'
'<i class="number">(.*?)</i>(.*?)</span>.*?<i class="number">(.*?)</i>(.*?)</a>',response.text,re.S)
# 遍历获取到的数据
for i in data:
# 以追加方式写入当前文件加下的qiubai.txt
with open('qiubai.txt','a+',encoding='utf8') as f:
# 转换为字符串格式,去空格,替换掉多余内容每条内容加换行
f.write(str(i).strip().replace(r'\n','')+'\n')
# 控制台打印查看爬取过程
print(str(i).strip().replace(r'\n','')+'\n') # 程序入口
if __name__ == '__main__':
# 构造所有url
urls = ['https://www.qiushibaike.com/text/page/{}/'.format(i) for i in range(1,14)]
# 开启多进程
pool = Pool()
# 启动程序
pool.map(get_character,urls)
print('爬取完毕')
控制台输出;

打开文件夹查看是否下载成功;

done
python+正则提取+ip代理爬取糗事百科文字信息的更多相关文章
- Python爬虫实战一之爬取糗事百科段子
		
大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...
 - 转 Python爬虫实战一之爬取糗事百科段子
		
静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致 ...
 - 初识python 之 爬虫:使用正则表达式爬取“糗事百科 - 文字版”网页数据
		
初识python 之 爬虫:使用正则表达式爬取"古诗文"网页数据 的兄弟篇. 详细代码如下: #!/user/bin env python # author:Simple-Sir ...
 - 8.Python爬虫实战一之爬取糗事百科段子
		
大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...
 - python爬虫29 | 使用scrapy爬取糗事百科的例子,告诉你它有多厉害!
		
是时候给你说说 爬虫框架了 使用框架来爬取数据 会节省我们更多时间 很快就能抓取到我们想要抓取的内容 框架集合了许多操作 比如请求,数据解析,存储等等 都可以由框架完成 有些小伙伴就要问了 你他妈的 ...
 - python_爬虫一之爬取糗事百科上的段子
		
目标 抓取糗事百科上的段子 实现每按一次回车显示一个段子 输入想要看的页数,按 'Q' 或者 'q' 退出 实现思路 目标网址:糗事百科 使用requests抓取页面 requests官方教程 使用 ...
 - [爬虫]用python的requests模块爬取糗事百科段子
		
虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更 ...
 - python网络爬虫--简单爬取糗事百科
		
刚开始学习python爬虫,写了一个简单python程序爬取糗事百科. 具体步骤是这样的:首先查看糗事百科的url:http://www.qiushibaike.com/8hr/page/2/?s=4 ...
 - python爬虫之爬取糗事百科并将爬取内容保存至Excel中
		
本篇博文为使用python爬虫爬取糗事百科content并将爬取内容存入excel中保存·. 实验环境:Windows10 代码编辑工具:pycharm 使用selenium(自动化测试工具)+p ...
 
随机推荐
- 简单工厂(二)——coding
			
public abstract class Video { public abstract void produce(); } public class JavaVideo extends Video ...
 - Quartz学习笔记:集群部署&高可用
			
Quartz学习笔记:集群部署&高可用 集群部署 一个Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点.这就意味着你必须对每个节点分别启动或停止.Quartz集群 ...
 - BlackBerry Key2 键盘扩展
			
概述 BlackBerry Key2 键盘扩展是为BlackBerry Key2输入物理键盘上缺少的键而制作的输入法. BlackBerry Key2键盘和内置输入法是为商业环境而设计的,缺少桌面计算 ...
 - css3网站响应式写法
			
css3响应式写法因为media不支持ie9以下的浏览器 所有要加个判断<pre> <!-- 全部通用的 --><link rel="stylesheet&qu ...
 - ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)
			
验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...
 - CentOS 5 源
			
# The mirror system uses the connecting IP address of the client and the # update status of each mir ...
 - Spirng学习指南-第一章(完)
			
Spring学习指南 内容提要  Spring框架是以简化J2EE应用程序开发为特定目标而创建的,是当前最流行的Java开发框架.  本书从介绍Spring框架入手,针对Spring4.3和Jav ...
 - js中Function引用类型中一些常见且有用的方法和属性
			
Function类型 函数由于是Function类型的一个实例,所以函数名就是一个指向函数对象的指针,不会与某个函数死死的连接在一起,这也导致了js中没有真正的重载,但好处是,函数对象可以作为另一个函 ...
 - 大数据之路【第十二篇】:数据挖掘--NLP文本相似度
			
一.词频----TF • 假设:如果一个词很重要,应该会在文章中多次出现 • 词频——TF(Term Frequency):一个词在文章中出现的次数 • 也不是绝对的!出现次数最多的是“的”“是”“在 ...
 - 用python批量添加保护站点
			
最近在测试的过程中,由于一个bug的复现需要添加1600个保护站点,手工添加谁知到要何年何月,因此想到了用python进行自动化批量添加保护站点! 具体代码如下: #!/usr/bin/env pyt ...