Python网络数据采集二

一、正则表达式

*     表匹配0次或者多次  a*b*

+    表至少一次

[ ]   匹配任意一个

( )  辨识一个编组

{m,n} m或者n 次

[^]  匹配任意不在中括号里的字符

|    表示或者

.    表示匹配任意字符

^    表字符的开始 ^a  表示以a开始

\    表示转义字符

$  和^ 相反  从字符串的末尾开始匹配

?! 不包含

二、获得属性

获得一个标签的全部属性

myTag.attrs

获取图片的资源位置src

myImgTag.attrs["src"]

获取网页的函数:

random.seed(datetime.datetime.now())
def getLinks(articleUrl):
html = urlopen("http://en.wikipedia.org"+articleUrl)
bs0bj = BeautifulSoup(html)
return bs0bj.find("div",{"id":"bodyContent"}).findAll("a",herf=re.compile("^(/wiki/)((?!:).)*$"))
links = getLinks("/wiki/Kevin_Bacon")
while len(links) > 0:
newArticle = links[random.randint(0,len(links)-1)].attrs["href"]
print(newArticle)
link = getLinks(newArticle)

时间: 2024-10-13 06:12:17

Python网络数据采集二的相关文章

笔记之Python网络数据采集

笔记之Python网络数据采集 非原创即采集 一念清净, 烈焰成池, 一念觉醒, 方登彼岸 网络数据采集, 无非就是写一个自动化程序向网络服务器请求数据, 再对数据进行解析, 提取需要的信息 通常, 有api可用, api会比写网络爬虫程序来获取数据更加方便. Part1 创建爬虫 Chapter1 初建网络爬虫 一旦你开始采集网络数据, 就会感受到浏览器为我们所做的所有细节, 它解释了所有的html, css, JavaScript 网络浏览器是一个非常有用的应用, 它创建信息的数据包, 发送

《深入浅出Python》与《Python网络数据采集》读后感

本学期在课程之外,自主计划学习Python语言以及爬虫知识.书籍方面,采用了O`Reilly的<深入浅出Python>与<Python网络数据采集>.前者用于Python语法的学习,后者则作为爬虫知识的详解. 与我们日常使用的教材不同的是,<深入>像是一个老鸟,在一步一步通过对话的形式手把手地教你.个人体会,该书作为入门教材,十分妥当,但是深入理解还需另辟蹊径.全书从文本处理出发讲解基础语法,再设计背景,随着假设要求不断扩展,将Python语言在web开发.Androi

《python 网络数据采集》代码更新

<python 网络数据采集>这本书中会出现很多这一段代码: 1 from urllib.request import urlopen 2 from bs4 import BeautifulSoup 3 html = urlopen(url) 4 bsobj = BeautifulSoup(html) 我也跟着输入这一段代码,但会出现提示: UserWarning: No parser was explicitly specified, so I'm using the best availa

学习爬虫:《Python网络数据采集》中英文PDF+代码

适合爬虫入门的书籍<Python网络数据采集>,采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导.第一部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互.第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络. <Python网络数据采集>高清中文PDF,224页,带目录和书签,能够复制:高清英文PDF,255页,带

Python网络数据采集pdf

下载地址:网盘下载 内容简介  · · · · · · 本书采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导.第一部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互.第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络. 作者简介  · · · · · · Ryan Mitchell 数据科学家.软件工程师,目前在波士顿Link

《Python网络数据采集》读书笔记(二)

1.通过的名称和属性查找标签 和之前一样,抓取整个页面,然后创建一个BeautifulSoup对象.这里面"lxml"解析器需要另外下载. pip3 install lxml >>> from urllib.request import urlopen >>> from bs4 import BeautifulSoup >>> html = urlopen("http://www.pythonscraping.com/pa

《Python网络数据采集》笔记之BeautifulSoup

一  初见网络爬虫 都是使用的python3. 一个简单的例子: from urllib.request import urlopen html = urlopen("http://pythonscraping.com/pages/page1.html") print(html.read()) 在 Python 2.x 里的 urllib2 库, 在 Python 3.x 里,urllib2 改名为 urllib,被分成一些子模块:urllib.request. urllib.pars

《Python网络数据采集》读书笔记(一)

思考"网络爬虫"时通常的想法: ? 通过网站域名获取 HTML 数据 ? 根据目标信息解析数据 ? 存储目标信息 ? 如果有必要,移动到另一个网页重复这个过程 当网络浏览器遇到一个标签时,比如<img src="cuteKitten.jpg">,会向服务器发起另一个请求,以获取cuteKitten.jpg文件中的数据为用户充分渲染网页.但是,我们的Python程序没有返回并向服务器请求多个文件的逻辑,它只能读取我们已经请求的单个HTML文件. 1.初识u

python网络数据采集第一天

findAll(tag, attributes, recursive, text, limit, keywords) find(tag, attributes, recursive, text, keywords) 标签参数tag :传一个标签的名称或多个标签名称组成的 Python 列表做标签参数 属性参数attributes 是用一个 python 字典封装一个标签的若干属性和对应的属性值 递归参数 recursive 是一个布尔变量.你想抓取 HTML 文档标签结构里多少层的信息?如果 r