码迷,mamicode.com
首页 > 其他好文 > 详细

BeautifulSoup抓取列表页锚文本

时间:2016-06-01 23:02:59      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:

素闻BeautifulSoup提取效率低,艾玛,第一印象果然是很要命的,反正比Re 和 Lxml 是要慢的,不过就无奈Re的正则折腾来折腾去,没写出来,Lxml 的 Xpath 又用得不好。

不过就这三个模版来看,BeautifulSoup的表现还是不错的,够简单,顺便测试了一下时间,抓10个列表页花不了1分钟,当然我是菜鸟,没事不会纠结终结速度。

核心就是这部分,用 Find_all 和 Find 都搞了半天不成功,最后用CSS提取搞定,也怪我太着急。

用Find比较麻烦,一层层的Class找,多次索引效率肯定不能保证

用Urllib2 或者 Pycurl 抓都可以

key_list = open(title.txt,a+)
for page in xrange(0,101):  #要抓的列表数量
    url = http://www.xxx.net/wangwen/list_205_%s.html % page
    soup = bs(gethtml(url,headers),"lxml")
    for i in soup.select(.thread_list a):  #这句是核心,CSS组合查找,找到.thread_list 下的 a 标签
        i = i.text.encode(utf-8)  #提取a标签内的文笔内容,也就是锚文本 <a href="http://aaa.com">我是锚文本</a> 此时代码编译为utf-8
        key_list.write(i + \n)
        print i,ctime()  #装B的写了ctime看时间,其实没啥米鸟用
        time.sleep(3)

key_list.close()
import pycurl,StringIO,json,time,re,sys
from time import ctime
from lxml import etree
from bs4 import BeautifulSoup as bs

reload(sys)
sys.setdefaultencoding(utf-8)  #设定系统默认编码,Windows设置gbk呗,没这句容易出错

 

BeautifulSoup抓取列表页锚文本

标签:

原文地址:http://www.cnblogs.com/wuzhi-seo/p/5551339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!