首页 > 代码库 > Python 爬虫—— requests BeautifulSoup
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-8from requests import session #__version__ = 2.3.0 这里直接使用session,因为要先登陆 from bs4 import BeautifulSoup #__version__ = 4.3.2s = 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 = http://www.mamicode.com/{‘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‘: ‘1‘} r = s.post(‘http://home.cnblogs.com/ajax/ing/Publish‘, data) # 发送闪存 print r.json() #返回一个json对象,可以看是否成功
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。