python简单正则的爬取

原创 2015年11月18日 18:43:56

 这是做的第一个任务,爬取  http://www.thebigdata.cn/  中的标题和链接。

 红框中为要爬取的部分:


 以下为部分源代码:


 1、 我一开始是在linux系统下做的,因为是跟着视频学习,然而遇到一些问题,所以改为在PYcharm里,练习的时候是链接和标题分开爬取的,所以将写的代码复制粘贴,运行,然而并没有出现什么,失败。当时是正则的问题。但是在我的电脑上出现了一个问题:


其实这对数据爬取没什么影响,上网查了一下,SID就是为域或本地计算机中创建的每个帐户分配的唯一ID 字符串因为我的电脑中建立.py文件时会自动生成:

__author__ = 'DELL'
这一行代码,后来在解决其他问题时,因为它多余去掉了,很幸运虽然那个问题虽没解决,但这个问题再没有出现过。

2、最开始是将链接和标题分开练习爬取的,爬取链接时发现不止有所需要的链接还有一些网址,类似这样:

发现是正则写的不够全面,观察了一下,发现要爬取的链接开头都是大写英文字母,所以就将正则改为了:

reg=r'href="(.*?)\.html"'
#改为#
reg=r'href="([A-Z].*?)\.html"'
其实这有些投机取巧,看了她们写的比较全面的:

reg=r'</span><a href="((YeJieDongTai|YingYongAnLi|JieJueFangAn|Hadoop|HBase|QiTa|JiShuBoKe)/\d{4,5}\.html)"(.*?)>(.*?)</a>'

3、将链接和标题一块爬取的时候,开始写了两个正则的函数,就是想将两个爬虫合一块,然而这样要不出不来,要么链接和标题是分开的,看了她们的代码发现她们用了一个语法:

re.finditer()

然后在输出时是这样写的:
fd.write(item.group(1)+'\t'+item.group(3)+'\n')
总的来说还是自己掌握的只是不够多。
下面是爬取的代码:
#conding-utf8
import re
import urllib
url='http://www.thebigdata.cn/'

def getHtml(url):
    page=urllib.urlopen(url)
    html=page.read()
    return html
def getDSJ(html):
    reg=r'</span><a href="([A-Z].*?\.html)"(.*?)>(.*?)</a>'
    lsre=re.compile(reg)
    ls=re.finditer(lsre,html)
    return ls

html=getHtml(url)
ls=getDSJ(html)

fd=open(r'theBigDate2.txt','a+')
for item in ls:
    fd.write(item.group(1)+'\t'+item.group(3)+'\n')
fd.close()
爬取的部分内容:






版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

python爬虫系列三:爬取糗百成人的妹子图片(scrapy框架+正则)

python爬虫系列三:爬取糗百成人的妹子图片(scrapy框架+正则)windows下scrapy的安装具体的安装使用,详见scrapy官网:http://scrapy-chs.readthedoc...

python3使用正则爬取妹子图

# encoding:utf-8 import re # 使用正则 匹配想要的图片 import requests #使用requests得到网页源码 这里就简单的做一个函数 # 定义mzt函数...

Python 爬取163整个网站的图片 多线程 深度控制 相对路径处理 请求间隔控制 正则匹配

# coding:utf-8 import urllib import urllib2 import re import time import threading import socket imp...

python爬虫系列二:爬取糗百成人的妹子图片(requests+正则)

在我的上篇文章:python爬虫系列一:爬取糗百成人的妹子图片中,体现的主要还是代码,这一次我用了更加流行的requests 和正则来改写代码,并且简单的说说思路爬取图片到底需要干什么1,定义要爬取的...

python简单爬取页面信息及实现打开、关闭浏览器

python简单爬取页面信息及实现打开、关闭浏览器

[python学习] 简单爬取维基百科程序语言消息盒

文章主要讲述如何通过Python爬取维基百科的消息盒(Infobox),主要是通过正则表达式和urllib实现;后面的文章可能会讲述通过BeautifulSoup实现爬取网页知识。由于这方面的文章还是...

python实现人人网用户数据爬取及简单分析

这是之前做的一个小项目,这几天刚好整理了一些相关资料,顺便jiuz

python3.5简单爬虫爬取百度百科(参考imooc实战)

思路: 1、添加一个入口url 2、解析该url对应的html中的内容,提取标签与内容,再从中提取其中所含的其他百科的链接,因此,维护新老两个set,防止重复url 3、由于一个页面解析出来的百...

Python爬虫学习笔记(1):简单的图片爬取

引言:使用python编写简单的爬图片小程序 简单代码如下,要熟悉正则表达式的引用,懂得融汇贯通之后,可以爬网页上的其他内容,如新闻、评论等。 #coding=utf-8 #urllib模块提供了...

Python 简单爬虫实现(爬取百度百科信息)

Python实现简单爬虫
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)