爬虫学习记录

author author     2022-12-08     709

关键词:


0.基础知识

  • 网络爬虫
  • 爬虫,即网络爬虫,可以简单的理解为,行走在互联网这张网上的爬虫, 你可以通过爬虫来抓取你在这张网上你想要的资源
  • 浏览网页的过程
  • 我们平时浏览网页就是在浏览器输入网址,然后网页就显示了出来,其实这些页面的实质 是由HTML代码构成的,而我们浏览的过程就是,输入网址,然后经过DNS服务器,找到服务器 主机,向服务器发出一个请求,服务器经过解析之后,就会给我们的浏览器发送HTML等等文件, 然后再经过浏览器的解析,就是我们所看到的的了
  • 而我们爬虫爬取的也正是这些文件,我们通过分析和过滤这些HTML代码,实现对所需要资源
    的获取
  • URL的含义
  • URL(统一资源定位符),也就是我们平时说的网址,是互联网上标准资源的地址。互联网上 每个文件都对应着唯一的URL

1.初次尝试

了解玩一些基本的知识后,我先用下面的代码爬写网页试试

#python3版本
from urllib.request import urlopen
url = "http://www.baidu.com"
reponse = urlopen(url)
print(reponse.read())

运行了以后,简直坑,一大段天书,不过没事,这才是开始,我慢慢学。

2.了解代码

from urllib.request import urlopen

首先这里是导入库,因为我们要调用urllib.requestl里的urlopen方法,urlopen这个方法,这个方法顾名思义url和open,所以他就是拿来open url的。

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

目前只知道的是一定要传入url这个参数

3.改进代码

构造Request,这段代码运行结果和第一段代码是完全一致的

from urllib.request import urlopen
from urllib.request import Request

url = "http://www.baidu.com"
#推荐这么写,因为构建请求的时候还需要加入好多内容
request = Request(url)
reponse = urlopen(request)
print(str(reponse.read(),utf-8)) #输出的字符串编码有点问题,所以转换了编码

4.POST和GET数据传送

通过上面两段代码可以爬取已经可以爬取好一些网站了(虽然还没有实质作用),但是如果遇到像比如说要登录的才能爬取的网页呢。所以在访问时,我们需要传递一些数据给它,也就是上面说的构建请求了,数据传递的方式分为POST和GET两种
+ POST方式:

#coding:utf-8

from urllib.request import Request
from urllib.request import urlopen
from urllib.parse import urlencode

url = "http://www.example.com"
values =
"username" : "richie",
"password" : "123456"


data = urlencode(values)
data = data.encode(utf-8)

# post 方法
request = Request(url,data)
response = urlopen(request)
print(str(response.read(),utf-8))
  • GET方式:
#coding:utf-8

from urllib.request import Request
from urllib.request import urlopen
from urllib.parse import urlencode

url = "http://www.example.com"
values =
"username" : "richie",
"password" : "123456"


data = urlencode(values)
# GET方法
get_url = url + "?" + data # http://www.example.com?username=richie&password=123456
request = Request(get_url)
response = urlopen(request)
print(str(response.read(),utf-8))

通过这两段代码可以看出他们之间明显的区别:
GET方法是直接把参数写到网址上面,直接构建一个带参数的URL出来,而post方法就不是

参考于:​​静觅 » Python爬虫入门​


python爬虫学习记录解析库的使用——pyquery(代码片段)

一、简介CSS选择器,jQuery二、初始化1、字符串初始化frompyqueryimportPyQueryaspqhtml="""<div><ul><liclass="item-0">firstitem</li><liclass="item-1"&g 查看详情

python爬虫学习记录基本库的使用——requests(代码片段)

一、基本用法urllib库中的urlopen方法实际是用GET方式请求网页,而requests中相应的方法是get()我们用get方法实现与urlopen相同的操作,得到一个response对象,分别输出response类型,状态码,响应体以及cooki... 查看详情

python爬虫学习记录解析库的使用——beautifulsoup(代码片段)

一、概述python中的一个html或xml解析器,可以从网页中提取数据。beautifulsoup解析依赖解析器,除了python标准库中的HTML解析器,还有lxml,xml,htmllib用法:BeautifulSoup(markup,“html.parser/lxml/xml/h 查看详情

python爬虫学习记录数据存储——文件存储a(代码片段)

一、TXT文本存储1、基本思路先用request方法提取,再用python提供的open方法打开file,获取一个文件操作对象,这里赋值为file,接着利用file对象的write方法将提取的内容写入文件,最后调用close方法将其关闭,... 查看详情

python爬虫学习记录基本库的使用——正则表达式(代码片段)

正则表达式测试工具:http://tool.oschina.net/regex1、常见语法https://www.runoob.com/regexp/regexp-syntax.html2、match()用match传入要匹配的字符串以及正则表达式,就可以及检测这个正则表达式是否匹配字符串。importrecontent=... 查看详情

python爬虫学习记录基本库的使用——urllib(代码片段)

一、使用urllib库python内置HTTP请求库,包含如下四个模块:request:模拟发送请求error:异常处理模块parse:工具模块,提供url处理方法robotparser:识别网站robots.txt文件,判断哪些网站可爬取1、发送请... 查看详情

(py爬虫03)爬虫初识(代码片段)

...这么多好记录的了!要学习一门技术,首先要简单认识一下爬虫!其实可以参考爬虫第一章!整体上介绍该技术包含技能,具体能做什么.这里就更详细了重点在这里为什么使用爬虫首先请问:都说现在是大数据时代.,那数据从哪来?企业... 查看详情

爬虫系列---scrapy框架学习(代码片段)

项目的需求需要爬虫某网的商品信息,自己通过Requests,BeautifulSoup等编写了一个spider,把抓取的数据存到数据库里面。 跑起来的感觉速度有点慢,尤其是进入详情页面抓取信息的时候,小白入门,也不知道应该咋个整,反正... 查看详情

python爬虫的教程

...http://cuiqingcai.com/1052.html大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多。学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Pytho... 查看详情

2月1日学习记录

...ium:运动场,体育场 stare:盯着看,显眼2,学习Python爬虫的re(正则表达式库)的使用观看视频:https://www.bilibili.com/video/av9784617 从36集看到47集  发表博客:Python爬虫学习(二)使用re库  新添内容在博客:Python爬虫... 查看详情

python爬虫框架scrapy学习笔记

...中遇到的一些问题,汇成本文。之后会写一些具体的爬虫demo,放到https://github.com/hanguangchao/scrapy_awesome鉴于作者接触爬虫不久,水平有限,文章难免出现纰漏,还请各位达人留言指导。内容提要Scrapy问题记录Sc 查看详情

数据挖掘读书与学习记录

...体智慧编程>进行中 2017.10.16-2017.11.301.<Python3网络爬虫实战案例>--崔庆才看完,代码过完(部分需要云主机的章节未实践) 2017.9.1-2017.10.151.<利用Python进行数据分析>看完 查看详情

学习杂记

...教程后端PHP暂时不知道该干嘛了Python想学习一下用Python来爬虫,PHP写起来有点累,找了一份比较完整的教程《Python爬虫学习系列教程 查看详情

9月6日学习记录

...课后作业。下午,学习了中国大学MOOC课程的《Python网络爬虫与信息提取》。主要是跟着视频重新过了一遍<实战2:股票交易信息的爬取>,除了有个别的问题还需要再搞清楚一点之外,大部分的流程都明白了。明天的任务是... 查看详情

用scrapy爬虫框架读取统计局网站的行政区划(备忘记录)(代码片段)

...,要及时整理,否则过一段时间就忘记了。下面是用scrapy爬虫框架读取行政区划的记录1. SelectorGadget是个好东西,下载和安装可以网上查 安装后,会在crome浏览器右上角有个图标。       点击右上... 查看详情

python学习笔记——爬虫中提取网页中的信息

1数据类型网页中的数据类型可分为结构化数据、半结构化数据、非结构化数据三种1.1结构化数据 常见的是MySQL,表现为二维形式的数据1.2半结构化数据 是结构化数据的一种形式,并不符合关系型数据库或其他数据表的形... 查看详情

学习进度

记录时间:第一周所花时间(包括上课)20h代码量(行)441行博客量(篇)3篇了解到的知识点软件架构师的工作、爬虫、数据可视化 查看详情

go爬虫学习-----goquery(代码片段)

菜鸟一个,以前没学过爬虫,今天恰好在浏览链家,想对长沙的价格有一个了解,所以用go的一个包goquery学习了一下怎么爬虫。goquery包的基本使用可以参考链接:https://www.cnblogs.com/diegodu/p/5761961.html对于爬虫,总体思路是:1、明... 查看详情