Python 爬虫—— requests BeautifulSoup
本文记录下用来爬虫主要使用的两个库。第一个是requests,用这个库能很方便的下载网页,不用标准库里面各种urllib;第二个BeautifulSoup用来解析网页,不然自己用正则的话很烦。
requests使用,1直接使用库内提供的get、post等函数,在比简单的情况下使用,2利用session,session能保存cookiees信息,方便的自定义request header,可以进行登陆操作。
BeautifulSoup使用,先将requests得到的html生成BeautifulSoup对象,然后进行解析,可以用select进行css选择器操作,然后用get、getText等获取信息。
下面是一个登录博客园发布闪存的例子
#! python
# coding=UTF-8 from requests import session #__version__ = 2.3.0 这里直接使用session,因为要先登陆
from bs4 import BeautifulSoup #__version__ = 4.3.2 s = session() #创建一个session对象
r = s.get('http://passport.cnblogs.com/login.aspx') #该页面进行登录,先获取一些信息
bs = BeautifulSoup(r.text) #解析获取的网页
__VIEWSTATE = bs.select('#__VIEWSTATE')[0].get('value') #
__EVENTVALIDATION = bs.select('#__EVENTVALIDATION')[0].get('value') # # post登陆时的信息,把用户名和密码改成自己的
data = {'tbUserName':'*', 'tbPassword':'*',\
'chkRemember':'on', 'txtReturnUrl':'http://i.cnblogs.com',\
'__VIEWSTATE':__VIEWSTATE, '__EVENTVALIDATION':__EVENTVALIDATION,\
'btnLogin':u'登录',
}
s.post('http://passport.cnblogs.com/login.aspx', data) #登录 messages = ['hello world', 'hello cnblogs'] for message in messages:
data = {'content':message, 'publicFlag': ''}
r = s.post('http://home.cnblogs.com/ajax/ing/Publish', data) # 发送闪存
print r.json() #返回一个json对象,可以看是否成功
Python 爬虫—— requests BeautifulSoup的更多相关文章
- python 爬虫 requests+BeautifulSoup 爬取巨潮资讯公司概况代码实例
第一次写一个算是比较完整的爬虫,自我感觉极差啊,代码low,效率差,也没有保存到本地文件或者数据库,强行使用了一波多线程导致数据顺序发生了变化... 贴在这里,引以为戒吧. # -*- coding: ...
- Python爬虫—requests库get和post方法使用
目录 Python爬虫-requests库get和post方法使用 1. 安装requests库 2.requests.get()方法使用 3.requests.post()方法使用-构造formda ...
- 使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)
为大家介绍下Python爬虫库BeautifulSoup遍历文档树并对标签进行操作的详细方法与函数下面就是使用Python爬虫库BeautifulSoup对文档树进行遍历并对标签进行操作的实例,都是最 ...
- 【Python爬虫】BeautifulSoup网页解析库
BeautifulSoup 网页解析库 阅读目录 初识Beautiful Soup Beautiful Soup库的4种解析器 Beautiful Soup类的基本元素 基本使用 标签选择器 节点操作 ...
- Python爬虫之BeautifulSoup的用法
之前看静觅博客,关于BeautifulSoup的用法不太熟练,所以趁机在网上搜索相关的视频,其中一个讲的还是挺清楚的:python爬虫小白入门之BeautifulSoup库,有空做了一下笔记: 一.爬 ...
- Python爬虫——用BeautifulSoup、python-docx爬取廖雪峰大大的教程为word文档
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 廖雪峰大大贡献的教程写的不错,写了个爬虫把教程保存为word文件,供大家方便下载学习:http://p ...
- Python爬虫系列-BeautifulSoup详解
安装 pip3 install beautifulsoup4 解析库 解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup,'html,parser') Pyth ...
- Python爬虫之Beautifulsoup模块的使用
一 Beautifulsoup模块介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Be ...
- python 爬虫proxy,BeautifulSoup+requests+mysql 爬取样例
实现思路: 由于反扒机制,所以需要做代理切换,去爬取,内容通过BeautifulSoup去解析,最后入mysql库 1.在西刺免费代理网获取代理ip,并自我检测是否可用 2.根据获取的可用代理ip去发 ...
随机推荐
- Qt msgBox 快捷版
使用 int iRet = msgBox(pos, tr("警告") , tr("确定要删除当前选中的行吗?") , tr(, ); == iRet) retu ...
- pads 扇出
1 选择BGA器件 2.扇出设置 3 安全间距问题 4 可以区域扇出也可以多点扇出
- javascript笔记7-事件
主要讲事件流.事件捕获.事件冒泡.事件处理程序.事件属性.事件类型.内存和优化等. 由于本文已经在微信订阅号上发布,为了防止原创性冲突检测,因此本文在此处已经删除. 详细请扫描订阅号二维码,查看历史信 ...
- 关于设置border的小技巧
可以在需要的时候,在某个元素下面放一个长或宽为1px,或者你需要的border宽度的 div ,再在这个div 上设置border.按需要调整这个div的位置.
- MVC中的自定义控件——分页
上一篇是个简单例子,这篇借分页写个升级版的例子. 不想拼html代码,因为不好修改,那写一个PartialView. @model System.Web.Mvc.PagerModel @if (Mod ...
- 数据库最大连接池max pool size
本文导读:Max Pool Size如果未设置则默认为100,理论最大值为32767.最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影 ...
- 去除Input输入框中边框的方式
我们在做制作注册页面时,经常会需要消除Input带来的边框,这时候我们需要用到两个属性 一个是input在非激活状态下,不现实边框,代码规则为 border:none:同时当鼠标移到input输入框上 ...
- 数据库update死锁
比较常见的死锁场景,并发批量update时的一个场景: update cross_marketing set gmtModified = NOW(), pageview = pageview+ #ex ...
- (基础篇)echo、print、print_r、printf、sprintf、var_dump的区别比较
一.echo echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并 ...
- 机器学习(一) 从一个R语言案例学线性回归
写在前面的话 按照正常的顺序,本文应该先讲一些线性回归的基本概念,比如什么叫线性回归,线性回规的常用解法等.但既然本文名为<从一个R语言案例学会线性回归>,那就更重视如何使用R语言去解决线 ...