代码编织梦想

0x00 前置

1、搜索引擎 :百度、谷歌、企业内部知识库

2、互联网:公网(无需授权)、深网(需要授权)、暗网(非正式渠道,无法使用常规手段访问,友情提醒:没事别看)

3、规则:爬取互联网公开的信息,但正常情况也需要遵守robots协议(网络爬虫君子协议,网站通过robots协议告诉搜索引擎哪些页面可以抓,哪些不能抓,通常放在网站robots.txt文件下)。

0x01  原理

1、html可以着字符串处理方式对响应进行解析处理。其次,html本身也是一种标记语言,与xml同源,所以可以使用dom对其文本进行处理。

2、所有爬虫,核心基于超链接,实现网站和网页的跳转。

 0x02 正则表达式爬取

代码:

#功能:正则表达式爬取网页超链接

import re, requests

resp = requests.get('http://news.baidu.com/')

#解析网页的所有超链接
links =re.findall('<a href="(.+?)"', resp.text)

for link in links:

    #排除无用超链接
    if 'void(0)'  in link:    ##去掉"void()字段"
        continue
    if 'target' in link:
        continue
    if link.startswith('#'):  #以#开头则去掉
        continue

    #对部分出现的反斜杠目录进行拼接处理,超链接进行处理,拼接出完整的url地址
    if link.startswith('/'):
        link = 'http://news.baidu.com/'+link
    print(link)



  结果:

 

  

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/haoaaao/article/details/127101060

python正则表达式网页爬虫-爱代码爱编程

正则表达式 正则表达式相关知识 1,背景 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 2,定义 正则表达式(regular expression,rc)是一种用来匹配字符串

Python爬虫之正则表达式-爱代码爱编程

正则表达式 正则表达式就是规则表达式,在接触爬虫前,正则表达式就是用来过滤的。接触爬虫后发现真的就是过滤用的hhh。正则表达式在爬虫中的作用就是过滤出想要的字符,然后获取,如果不用正则表达式,那么就会将网页中大量信息全部爬出,造成大量内存浪费,亦不是我们最初想要爬取某些东西的初衷。 正则表达式原理 通过正则表达式我们可以实现 给定的字符串是否符合

Python正则表达式大全-爱代码爱编程

定义:正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。 上面都是官方的说明,我自己

Python正则表达式(一看就懂)-爱代码爱编程

目录 哈喽O(∩_∩)O😄 什么是正则表达式(⊙_⊙) 简单说,正则表达式是… 正则表达式怎么用❓ sreach的用法🍊 匹配连续的多个数值🍉  字符"+"重复前面一个匹配字符一次或者多次🍉 字符"*"重复前面一个匹配字符零次或者多次🍉 字符"?"重复前面一个匹配字符零次或者一次🍉 特殊字符使用反斜杠"“引导,例如”\r"、"\n"

【web_自动化测试_python3_webdriver_etree_批量下载京东图片】通过地址抓取静态网页+解析标题和链接+通过链接批量下载图片_铜锣烧1号的博客-爱代码爱编程

import time import requests import re, sys, io, os, csv, random from lxml import etree from selenium import webdriver from selenium.webdriver.common.by import By class Test():

基于ssm和boostrap实现的电影评论网站设计_biyezuopin的博客-爱代码爱编程

目 录 目 录 I 摘 要 III Abstract IV 1 绪 论 1 1.1 研究目的 1 1.2 发展概况 1 1.3 开发工具的选择 2 2 系统分析 6 2.1 主要功能 6 2.2 方案论证 6 2.2.1 设

html5标签+基础特性_django~溪风的博客-爱代码爱编程

一、HTML5特性之:空白折叠现象; 1、文字和文字之间的多个空格、换行会被折叠成一个空格; 2、标签 内壁 和 文字之间的空格会被忽略 1/1 2/2黑线所演示的空格单位并未出现在浏览器中 此为空白折叠现象 二、

http协议_http:∥-爱代码爱编程

HTTP是超文本传输协议,也就是http传输的就是网页源代码。 请求: 请求行:请求方式(Request Methond)(get/post)请求url地址,协议。 请求头:放一些服务器要使用的附加信息 请求体:一般放