9.3.2网页爬虫(代码片段)

Avention Avention     2022-11-09     794

关键词:

  网页爬虫常用来在互联网上爬取感兴趣的页面或文件,结合数据处理与分析技术可以得到更深层次的信息。下面的代码实现了网页爬虫,可以抓取指定网页中的所有链接,并且可以指定关键字和抓取深度。

 

 1 import sys
 2 import multiprocessing
 3 import re
 4 import os
 5 import urllib.request as lib
 6 
 7 def craw_links(url,depth,keywords,processed):
 8     ‘‘‘
 9     :param url:       要爬取的网址
10     :param depth:     爬取深度
11     :param keywords:  要爬取的关键字组成的元组
12     :param procdssed: 进程池
13     :return:
14     ‘‘‘
15 
16     contents = []
17 
18     if url.startswith((http://,https://)):
19         if url not in processed:
20             #make this url as processed
21             processed.append(url)
22         else:
23             #avoid processing the same url again
24             return
25 
26         print(Crawing  + url + ...)
27         fp = lib.urlopen(url)                           #向url 发出请求
28 
29         #Python3 returns bytes,so need to decode
30         contents_decoded = fp.read().decode(utf-8)
31         fp.close()                                      #至此已经读取爬取的网页文本内容
32 
33         pattern = |.join(keywords)
34 
35         #if this page contains certain keywords,save it to a file
36         flag = False
37         if pattern:
38             searched = re.search(pattern,contents_decoded)              #用正则表达式去返回的网页文本中匹配关键字
39         else:
40             #if the keywords to filter is not given,save current page
41             flag = True
42 
43         if flag or searched:
44             with open(craw\\ + url.replace(:,_).replace(/,_),w) as fp:
45                 fp.writelines(contents)
46 
47         #find all the links in the current page
48         links = re.findall(href="(.*?)",contents_decoded)
49 
50         #craw all links in the current page
51         for link in links:
52             #consider the relative path
53             if not link.startswith((http://,https://)):
54                 try:
55                     index = url.rindex(/)
56                     link = url[0:index+1] + link
57                 except:
58                     pass
59             if depth > 0 and link.endswith((.htm,.html)):
60                 craw_links(link,depth-1,keywords,processed)
61 
62 if __name__ == __main__:
63     processed = []
64     keywords=(datetime,KeyWord2)
65     if not os.path.exists(craw) or not os.path.isdir(craw):
66         os.mkdir(craw)
67     craw_links(rhttps://docs.python.org/3/library/index.html,1,keywords,processed)

 

网页爬虫之二手车价格爬虫(代码片段)

今天学习了爬虫技术简单来说就是利用pyhon连续的访问网页,自动的将网页中我们用到的信息存储起来的过程。需要我们的看懂简单的网页代码,能够写一些简单的python语句下面我们举一个一个需要两步爬虫的例子:... 查看详情

网页爬虫之二手车价格爬虫(代码片段)

今天学习了爬虫技术简单来说就是利用pyhon连续的访问网页,自动的将网页中我们用到的信息存储起来的过程。需要我们的看懂简单的网页代码,能够写一些简单的python语句下面我们举一个一个需要两步爬虫的例子:... 查看详情

爬虫系列2.2爬虫基础2-网页结构进阶(代码片段)

...台回复python金融基础获取源代码2.2.1HTML基础1-我的第一个网页HTML(HyperTextMarkupLanguage)是一种用于写这些框架的的标准标记语言,这一小节主要就是讲如何利用它来进行网页搭建。2.2.2代码编辑器荐一款代码编辑器:Notepad+... 查看详情

爬虫基础——网页(代码片段)

前言  爬虫要爬取的信息主要来自于网页加载的内容,有必要了解一些网页的知识。  当我们在浏览器网址栏输入一个网址——URL,经过TCP/IP协议簇的处理,这个网址请求的信息就被发送到URL对应的服务器,接着... 查看详情

scrapy爬虫框架-爬取多个网页(代码片段)

scrapy爬虫框架(四)爬取多个网页思路:通过判断句子控网站中,下一页是否还有a标签来获取网址,拼接后继续爬取,最终写入json文件中。juziSpider.py#-*-coding:utf-8-*-importscrapyfromjuzi.itemsimportJuziItemclassJuzispiderSpider(scrapy.Spider):name='... 查看详情

网页简介(代码片段)

有人说“互联网中有50%以上的流量是爬虫”,第一次听这句话也许你会觉得这个说法实在太夸张了,怎么可能爬虫比用户还多呢?毕竟会爬虫的相对与不会爬虫的简直少之又少。但是很多爬虫工程师或者反爬虫工程师讲了实话:... 查看详情

读取网页的方法-爬虫学习(代码片段)

 1、读取全部网页1#encoding:utf-823importurllib24defdownload1(url):5returnurllib2.urlopen(url).read()#读取全部网页67url="http://www.baidu.com"#urlopen只能处理http不能处理https8printdownload3(url) 2、读取每一行的数据,压入列表1 查看详情

9.3.2qpainter坐标系统转换示例(代码片段)

...统转换示例 1.使用translate函数实现坐标平移变换下面代码使用translate函数分别指定了不同的坐标位置作为当前绘图的原点坐标,并绘制了一个矩形和一个圆。观察矩形和圆绘制的位置即可明白translate函数用途。voidWidget::paintEv... 查看详情

python爬虫编程思想:网页基础(代码片段)

...爬虫的基本原理        整个互联网拥有数以亿计的网页,这些网页的样式千差万别,但不管是什么样的网页,都离不开Web三剑客对其做的贡献,它们是HTML、CSS和JavaScript。这 查看详情

9.3域名解析与网页爬虫(代码片段)

...rllib.response、urllib.parse和urllib.error4个模块,很好地支持了网页内容读取功能。  下面的代码演示了如何读取并显示指定网页的内容。1importurllib.request23fp=urllib.request.urlopen(r‘http://www.baidu.com‘)45p 查看详情

网页爬虫获取课程信息(代码片段)

...ithub链接: 点击打开链接用Python学习制作一个简单的网页爬虫:1.安装pycharm是一个非常好用的IDE~,安装地址在:点击打开链接2.学习一些常用的正则表达式符号和方法。3.运用正则表达式,观察网页源代码ÿ... 查看详情

理解爬虫原理(代码片段)

...网站并提取数据的自动化程序百科:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂... 查看详情

第一个爬虫和设计(代码片段)

一、网络爬虫  网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模... 查看详情

pythonscrapy实现网页爬虫(代码片段)

Pythonscrapy安装和网页爬虫功能实现现在组内有个工作就是维护恶意URL库,然后这个维护工作,主要是通过从几个会发布恶意URL地址的网站获取恶意网址,每次都得花费半天,很乏味的事情。所以就想到能否用个爬... 查看详情

“反爬虫”与“反反爬虫”(代码片段)

反爬虫:不返回网页:如不返回内容和延迟网页返回时间返回数据非目标网页:如返回错误页、返回空白页和爬取多页时均返回同一页增加获取数据的难度,:如登陆才可查看和登陆时设置验证码不返回网页... 查看详情

leetcode(多线程)-1242.多线程网页爬虫(代码片段)

题目链接:点击打开链接题目大意:略。解题思路:略。相关企业DatabricksAC代码/***//ThisistheHtmlParser'sAPIinterface.*//Youshouldnotimplementit,orspeculateaboutitsimplementation*interfaceHtmlParser*publicList& 查看详情

爬虫原理与数据抓取-----(了解)通用爬虫和聚焦爬虫(代码片段)

...ogle、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。通用搜索引擎(SearchEngine)工作原理通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于 查看详情

14vcs爬虫(代码片段)

1、聚焦爬虫代理浏览器上网网页的特点网页都有自己唯一的url网页内容都是HTML结构使用的都是HTTP,HTTPS协议爬取步骤:给一个url写程序,模拟浏览器方位url解析内容环境:Windows环境、Linux环境python3.664位编辑工具,vscode,sublime,py... 查看详情