文档章节

Python3.x实现简单爬虫—爬糗事百科

xinxin_
 xinxin_
发布于 2016/10/25 16:17
字数 250
阅读 74
收藏 2

1、Python版本:3.5,urllib库,

2、爬取糗事百科24小时热门段子,第一页(网页地址:http://www.qiushibaike.com/hot/1)

3、使用正则匹配, re库

4、Python2的urllib、urllib2合并成pytohn3的urllib库,Pytohn3:urllib.request, urllib.error, urllib.parse

# -*- coding:utf-8 -*-
# 抓取糗事百科24小时第一页段子(用户名,内容,好笑数,评论数)
import re
import urllib.request
from urllib.error import URLError

url = 'http://www.qiushibaike.com/hot/page/1'
# headers验证
h = {
    'User-Agent': '(Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36',
}
try:
    requ = urllib.request.Request(url, headers=h)
    response = urllib.request.urlopen(requ)
    content = response.read().decode('utf-8')
# 正则匹配(此正则匹配目前糗百最新网页内容)
    pattern = re.compile(
        '<div class="author clearfix">.*?<h2>(.*?)</h2>.*?<div class="content">(.*?)</div>.*?<div class="stats"'
        '.*?i class="number">(.*?)</i>(.*?)</span>.*?<span class="dash">.*?i class="number">(.*?)</i>(.*?)</a>',
        re.S
    )
    items = re.findall(pattern, content)
    # 过滤掉内容中图片
    for item in items:
        img = re.search('img', item[1])
        if not img:
            print(item[0], item[1], item[2], item[3], item[4], item[5])

except URLError as e:
    print('error', e.reason)

注: 本文阅读参考博客后,修改运行。

 

 

 

© 著作权归作者所有

xinxin_
粉丝 4
博文 82
码字总数 16427
作品 0
南京
程序员
私信 提问
Ubuntu16.04下Scrapy环境的搭建

一、Scrapy简介与部署环境 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的第三方爬虫框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 最初是为了页面抓取...

dyc2005
2017/10/24
0
0
Python爬虫框架Scrapy架构和爬取糗事百科段子结果

根据上篇文章《Python爬虫框架Scrapy之爬取糗事百科大量段子数据》(传送门:Python爬虫框架Scrapy之爬取糗事百科大量段子数据),写好了糗百段子的爬虫,接下来就是开始运行然后获取结果了。...

铁扇公主1
2017/05/24
241
0
python-20:爬取糗事百科段子源码

到这里,我们爬取糗事百科这个入门项目已经结束了,下面贴上源码: ---------------------------------爬取糗事百科段子源码---------------------------- #!/usr/bin/env python -- coding:...

达岭凹老大
2015/11/25
200
0
推荐一个分享网站爬虫源码的gitbub项目

这是爬取京东商品信息和评论的爬虫源码: var keyword = "d3.js";//@input(keyword, 查询关键字, 爬取该关键字搜索出来的京东商品)var commentcount = 100;//@input(commentcount, 爬取的评论...

chuntianhao
2016/06/02
27
0
python-21:爬取糗事百科段子--总结

好了,我们第一个实践的实例--爬取糗事百科段子,到这里就结束了 我们来看看我们做了什么 1. 我们花一个钟的时间把python的知识点过了一遍,对python有了一个基本的认识 2. 然后在python的几...

达岭凹老大
2015/11/25
139
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL参数search_path影响及作用

search_path稍微熟悉PG就会用到,用法这里就不必讲,本篇主要讲它在程序里怎样处理。 1、GUC参数定义 这是个 config_string 参数 {{"search_path", PGC_USERSET, CLIENT_CONN_STATEMENT,...

有理想的猪
54分钟前
8
0
Qt程序各个平台打包发布及安装程序大全

本文链接:https://blog.csdn.net/zhengtianzuo06/article/details/78468111 通用: 1.准备图标 图标可以直接使用一般格式的图片制作, 比如jpg, png等 推荐使用Photoshop制作原始图 推荐使用I...

shzwork
今天
4
0
springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
22
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
10
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部