如何利用Python爬虫从网页上批量获取想要的信息?
(2016-07-28 11:53:20)
标签:
python爬虫批量获取信息urllibbeautifulsoup |
分类: Computer |
import
urllib
#python中用于获取网站的模块
import urllib2, cookielib
有些网站访问时需要cookie的,python处理cookie代码如下:
cj = cookielib.CookieJar ( )
opener = urllib2.build_opener(
urllib2.HttpCookieProcessor(cj) )
urllib2.install_opener (opener)
通常我们需要在网站中搜索得到我们需要的信息,这里分为二种情况:
1. 第一种,直接改变网址就可以得到你想要搜索的页面:
def GetWebPage( x ): #我们定义一个获取页面的函数,x
是用于呈递你在页面中搜索的内容的参数
2.第二种,你需要用到post方法,将你搜索的内容放在postdata里面,然后返回你需要的页面
def GetWebPage( x ): #我们定义一个获取页面的函数,x
是用于呈递你在页面中搜索的内容的参数
在获取了我们需要的网页信息之后,我们需要从获得的网页中进一步获取我们需要的信息,这里我推荐使用 BeautifulSoup
这个模块, python自带的没有,可以自行百度谷歌下载安装。 BeautifulSoup
翻译就是‘美味的汤’,你需要做的是从一锅汤里面找到你喜欢吃的东西。
import re # 正则表达式,用于匹配字符
from bs4 import BeautifulSoup #
导入BeautifulSoup 模块
soup
= BeautifulSoup(pageContent)
#pageContent就是上面我们搜索得到的页面
soup就是 HTML
中所有的标签(tag)BeautifulSoup处理格式化后的字符串,一个标准的tag形式为:
hwkobe24
通过一些过滤方法,我们可以从soup中获取我们需要的信息:
(1) find_all ( name , attrs , recursive ,
text , **kwargs)
当我们获取了所有想要标签的列表之后,遍历这个列表,再获取标签中你需要的内容,通常我们需要标签中的文字部分,也就是网页中显示出来的文字,代码如下:
(2)find( name , attrs , recursive , text , **kwargs )
(3)find_parents( ) find_parent( )
(4)find_next_siblings()
find_next_sibling()
(5)find_previous_siblings()
find_previous_sibling()
(6)find_all_next() find_next()
(7)find_all_previous() 和 find_previous()
具体的使用方法还有很多,用到这里你应该可以解决大部分问题了,如果要更深入了解可以参考官方的使用说明哈!
前一篇:我如何与自己的“三分钟热度”和解
后一篇:用ROC曲线评价分类系统的优劣

加载中…