当前位置: 首页 > 编程笔记 >

Python 制作糗事百科爬虫实例

曹鸿风
2023-03-14
本文向大家介绍Python 制作糗事百科爬虫实例,包括了Python 制作糗事百科爬虫实例的使用技巧和注意事项,需要的朋友参考一下

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

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

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

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

# coding=utf8

import re
import requests
from lxml import etree
from multiprocessing.dummy import Pool as ThreadPool
import sys

reload(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, url, re.S)
  urls.append(link)

 return urls


def 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()

如果其中有不懂得部分,可以依次参考我的前三篇文章。

 类似资料:
  • 本文向大家介绍NodeJS爬虫实例之糗事百科,包括了NodeJS爬虫实例之糗事百科的使用技巧和注意事项,需要的朋友参考一下 1.前言分析 往常都是利用 Python/.NET 语言实现爬虫,然现在作为一名前端开发人员,自然需要熟练 NodeJS。下面利用 NodeJS 语言实现一个糗事百科的爬虫。另外,本文使用的部分代码是 es6 语法。 实现该爬虫所需要的依赖库如下。 request: 利用 g

  • 本文向大家介绍python爬虫入门教程之糗百图片爬虫代码分享,包括了python爬虫入门教程之糗百图片爬虫代码分享的使用技巧和注意事项,需要的朋友参考一下 学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。 用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作

  • 糗事百科的客户端,功能齐全,可以浏览帖子图片。 开发者说:自己写的糗事百科的客户端,没有广告,滑动也不卡。 [Code4App.com]

  • 本文向大家介绍C#使用HtmlAgilityPack抓取糗事百科内容实例,包括了C#使用HtmlAgilityPack抓取糗事百科内容实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#使用HtmlAgilityPack抓取糗事百科内容的方法。分享给大家供大家参考。具体实现方法如下: 运行效果如下图所示: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍使用requests库制作Python爬虫,包括了使用requests库制作Python爬虫的使用技巧和注意事项,需要的朋友参考一下 使用python爬虫其实就是方便,它会有各种工具类供你来使用,很方便。Java不可以吗?也可以,使用httpclient工具、还有一个大神写的webmagic框架,这些都可以实现爬虫,只不过python集成工具库,使用几行爬取,而Java需要写更多的行

  • 本文向大家介绍python制作最美应用的爬虫,包括了python制作最美应用的爬虫的使用技巧和注意事项,需要的朋友参考一下 安卓最美应用页面爬虫,爬虫很简单,设计的东西到挺多的 文件操作 正则表达式 字符串替换等等