Python爬虫(一)爬百度贴吧
简单的GET请求:
# python2
import urllib2 response = urllib2.urlopen('http://www.baidu.com')
html = response.read()
print html req = urllib2.Request('http://www.baidu.com')
req.add_header('User-Agent', 'Chrome')
response = urllib2.urlopen(req)
print 'response headers:'
print response.info()
爬百度贴吧一个帖子:
# python2
# -*- coding: utf-8 -*- import urllib2
import string def crawl_tieba(base_url, begin_page, end_page):
for i in range(begin_page, end_page + 1):
print '正在下载第' + str(i) + '个网页...'
url = base_url + '?pn=' + str(i)
m = urllib2.urlopen(url).read()
file_name = string.zfill(i, 5) + '.html'
f = open(file_name, 'w+')
f.write(m)
f.close()
print 'done' crawl_tieba('http://tieba.baidu.com/p/4999189637', 1, 10)
WARNING:
如果没有第二行的注释,会报错:" SyntaxError: Non-ASCII character '\xe6' "。
爬糗百的帖子:
# python2
# -*- coding: utf-8 -*- import urllib2
import string
import re def crawl_qiubai(base_url, begin_page, end_page):
for i in range(begin_page, end_page + 1):
url = base_url + str(i)
user_agent = 'chrome'
headers = {'User-Agent': user_agent} print '正在下载网页' + str(i) + '...' req = urllib2.Request(url, headers=headers)
response = urllib2.urlopen(req).read()
pattern = re.compile(r'<div.*?class="content">.*?<span>(.*?)</span>', re.S)
features = re.findall(pattern, response) file_name = 'qiubai_' + string.zfill(i, 5) + '.txt'
f = open(file_name, 'w+')
for index in range(len(features)):
feature = features[index].replace('<br/>', '\n')
f.write('第' + str(index + 1) + '条:\n')
f.write(feature + '\n\n')
f.close()
print '网页' + str(i) + '下载完成'
print 'done' crawl_qiubai('http://www.qiushibaike.com/hot/page/', 1, 10)
参考资料:
Python爬虫入门教程
谈谈 Python 中的连接符(+、+=)
Python爬虫(一)爬百度贴吧的更多相关文章
- Python 爬虫实例(爬百度百科词条)
爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入 ...
- Python爬虫(二)爬百度贴吧楼主发言
爬取电影吧一个帖子里的所有楼主发言: # python2 # -*- coding: utf-8 -*- import urllib2 import string import re class Ba ...
- 初次尝试python爬虫,爬取小说网站的小说。
本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...
- Python爬虫之爬取慕课网课程评分
BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...
- [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)
转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...
- from appium import webdriver 使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)
使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium) - 北平吴彦祖 - 博客园 https://www.cnblogs.com/stevenshushu/p ...
- 【Python必学】Python爬虫反爬策略你肯定不会吧?
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 正文 Python爬虫反爬策略三部曲,拥有这三步曲就可以在爬虫界立足了: ...
- Python爬虫之爬取站内所有图片
title date tags layut Python爬虫之爬取站内所有图片 2018-10-07 Python post 目标是 http://www.5442.com/meinv/ 如需在非li ...
- python爬虫实战---爬取大众点评评论
python爬虫实战—爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经 ...
随机推荐
- 今日写一篇散文 Textview settext 方法不能放入 int 参数 不然报错!
Textview settext 方法不能放入 int 参数 不然报错!
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(九)之Interfaces
Interfaces and abstract classes provide more structured way to separate interface from implementatio ...
- Redis学习三:Redis高可用之哨兵模式
申明 本文章首发自本人公众号:壹枝花算不算浪漫,如若转载请标明来源! 感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫 22.jpg 前言 Redis 的 Sentinel 系统用于管理多个 Redi ...
- 代码质量管理 SonarQube 系列之 安装
简介 SonarQube 是一个开源的代码质量管理系统. 功能介绍: 15种语言的静态代码分析 Java.JavaScript.C#.TypeScript.Kotlin.Ruby.Go.Scala.F ...
- Web三维编程入门总结之一:WebGL与Threejs入门知识
/*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...
- 猜数字和飞机大战(Python零基础入门)
前言 最近有很多零基础初学者问我,有没有适合零基础学习案例,毕竟零基础入门的知识点是非常的枯燥乏味的,如果没有实现效果展示出来,感觉学习起来特别的累,今天就给大家介绍两个零基础入门的基础案例:猜数字游 ...
- vue中的ref属性
1.什么是ref? ref是用于快速定位到dom结构,vue中一般不去操作dom结构,他是数据驱动的.jQuery会疯狂操作DOM {{msg}} mounted(){ let h = this.$r ...
- C++学习--编译优化
常量折叠 把常量表达式的值求出来作为常量嵌在最终生成的代码中. 疑问:对于一个很复杂的常量表达式,编译器会算出结果再编译吗?亦或者是把这个表达式完全翻译成机器码,最终留给程序去解决? 分情况: 涉及的 ...
- 4. js
1.) ~ 操作符 console.log(~-2) // 1 console.log(~-1) // 0 console.log(~0) // -1 console.log(~1) // ...
- 如何防止CDN防护被绕过
当攻击者发现目标站点存在CDN防护的时候,会尝试通过查找站点的真实IP,从而绕过CDN防护.我们来看一个比较常见的基于公有云的高可用架构,如下:CDN(入口层)->WAF(应用层防护)-> ...