博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫-韩寒新浪博客博文
阅读量:6325 次
发布时间:2019-06-22

本文共 1309 字,大约阅读时间需要 4 分钟。

博客地址:http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html

爬第一页博文

1 #-*-coding:utf-8-*- 2 import re #导入正则表达式模块 3 import urllib  #导入urllib库 4  5 url='http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html' #第一页博文地址  6 response = urllib.urlopen(url)   #通过urllib库中的urlopen()函数来访问这个url    #这里省略了构建request请求这一步  7 html = response.read()   #读取出来存在html这个变量当中,到这里也就完成了html的爬取  8 #print(html) 9 #这里可以将爬取到的html输出到终端10 pattern = re.compile('(.*?)',re.S) #通过正则表达式来匹配11 blog_address = re.findall(pattern,html) #通过findall函数从爬取到的html中找出所要的内容12 for i in blog_address:13     print(i[0]) #输出第一个分组的内容即博客博文地址14     print(i[1]) #输出第二个分组的内容即博文标题

部分结果如下:

 所遇到的问题:1爬取的结果多了两个,第一个和最后一个不是所要的内容?

                    2 输出结果的时候用print(i[0],i[1])出现乱码,这是为什么?

通过while循环来解决多页的问题

1 #-*-coding:utf-8-*- 2 import re 3 import urllib 4 page=1 5 while page<=7: 6     url='http://blog.sina.com.cn/s/articlelist_1191258123_0_'+str(page)+'.html' 7     #url='http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html' 8     response = urllib.urlopen(url) 9     html = response.read().decode('utf-8')10     #print(html)11     pattern = re.compile('(.*?)',re.S)12     blog_address = re.findall(pattern,html)13     for i in blog_address:14         print(i[0])15         print(i[1])16     page = page + 1

结果最后部分如下图:

 

转载于:https://www.cnblogs.com/wujiadong2014/p/5041705.html

你可能感兴趣的文章
checkpoint system management
查看>>
CentOS 6.5安全加固及性能优化_操作系统
查看>>
每天laravel-20160709|CallEvent
查看>>
我的友情链接
查看>>
【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
查看>>
Cisco 配置DHCP中继 代理工程 实例
查看>>
Centos7.3部署KVM虚拟化环境
查看>>
configure: error: Cannot find ldap.h
查看>>
Linux启动分析(2)— bootsect.S、setup.S、head.S分析
查看>>
自学java时的笔记(一)
查看>>
Qt之文本编辑器(二)
查看>>
python编译时检查语法错误
查看>>
考题纠错2
查看>>
SQL——索引
查看>>
Python新手快速入门教程-基础语法
查看>>
JVM性能调优入门
查看>>
关于raid的基本原理、软raid的实现演示
查看>>
科技企业的幕后推手,人工智能究竟有何魔力
查看>>
详解Oracle临时表的几种用法及意义
查看>>
HTML(七)------ 表格
查看>>