Python 制作糗事百科爬虫实例

Python 制作糗事百科爬虫实例,第1张

概述早上起来闲来无事做,莫名其妙的就d出了糗事百科的段子,转念一想既然你送上门来,那我就写个爬虫到你网站上爬一爬吧,一来当做练练手,二来也算找点乐子。 @H_419_0@早上起来闲来无事做,莫名其妙的就d出了糗事百科的段子,转念一想既然你送上门来,那我就写个爬虫到你网站上爬一爬吧,一来当做练练手,二来也算找点乐子。

@H_419_0@其实这两天也正在接触数据库的内容,可以将爬取下来的数据保存在数据库中,以待以后的利用。好了,废话不多说了,先来看看程序爬取的数据结果

@H_419_0@

@H_419_0@值得一提的是,我在程序中想一下子爬取糗事百科 30 页的内容,但是出现了连接错误,当我把页数降到 20 页的时候,程序就可以正常的跑起来了,不知道是什么原因,渴望知道的大神可以告诉我一声,感激不尽。

@H_419_0@程序非常简单,直接上源代码咯

# Coding=utf8import reimport requestsfrom lxml import etreefrom multiprocessing.dummy import Pool as ThreadPoolimport sysreload(sys)sys.setdefaultencoding('utf-8')def getnewpage(url,total): Nowpage = int(re.search('(\d+)',url,re.S).group(1)) urls = [] for i in range(Nowpage,total + 1):  link = re.sub('(\d+)','%s' % i,re.S)  urls.append(link) return urlsdef spIDer(url): HTML = requests.get(url) selector = etree.HTML(HTML.text) author = selector.xpath('//*[@ID="content-left"]/div/div[1]/a[2]/@Title') content = selector.xpath('//*[@ID="content-left"]/div/div[2]/text()') Vote = selector.xpath('//*[@ID="content-left"]/div/div[3]/span/i/text()') length = len(author) for i in range(0,length):  f.writelines('作者 : ' + author[i] + '\n')  f.writelines('内容 :' + str(content[i]).replace('\n','') + '\n')  f.writelines('支持 : ' + Vote[i] + '\n\n')if __name__ == '__main__': f = open('info.txt','a') url = 'http://www.qiushibaike.com/text/page/1/' urls = getnewpage(url,20) pool = ThreadPool(4) pool.map(spIDer,urls) f.close()
@H_419_0@如果其中有不懂得部分,可以依次参考我的前三篇文章。

总结

以上是内存溢出为你收集整理的Python 制作糗事百科爬虫实例全部内容,希望文章能够帮你解决Python 制作糗事百科爬虫实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1203619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存