
爬虫
文章平均质量分 58
、Lu
这个作者很懒,什么都没留下…
展开
-
如何将爬虫爬下来的json文件格式化为标准json格式
1.首先我们先看一下爬下来的格式(当然有些方式爬下来的格式直接就是标准的,不需要修改)可以看到,一行就是一个json对象,但是可阅读性太差,当我们用json在线编辑器阅读时,发现会报错(json格式不对),那是因为单纯地按一行来讲的话,每一行都是一个json对象是没什么问题的,但是我们整个文件有多个对象,当我们复制到json在线编辑器想整体查看时就会出问题了,那我们要做的就是将多个对象放到一个数组里面[{obj},{obj}, ... {obj}],所以我们需要做的就是在每一个对象后添加,分隔符,并原创 2021-04-08 16:08:40 · 1194 阅读 · 0 评论 -
查看页面源代码和F12(检查)的区别
查看源代码:就是别人服务器发送到浏览器的原封不动的代码,也就是最原始的代码。(F12)检查元素:看到的就是最终的html代码。即:源代码 + 网页js渲染 。【注】在源代码中找不到的代码,是在浏览器执行js动态生成的。当我们在爬虫时需要对js在加载的数据进行爬取时,就不能像普通爬虫一样进行获取了,这时通常有两种方法:1. 通过selenum自动化技术2. 通过在页面上进行抓包,获取js链接以及表单元素进行请求...原创 2020-07-04 17:19:47 · 10766 阅读 · 0 评论 -
urllib库常用的几个函数
1. urlopen函数在Python3的urllib库中,所有和网络请求相关的方法,都被集到urllib.request模块下面了,以先来看下urlopen函数基本的使用:from urllib import requestresp = request.urlopen('http://www.baidu.com')print(resp.read())实际上,使用浏览器访问百度,右键查看源代码。你会发现,跟我们刚才打印出来的数据是一模一样的。也就是说,上面的三行代码就已经帮我们把百度的首原创 2020-07-02 12:08:08 · 9348 阅读 · 0 评论 -
requests+xpath+json爬取糗事百科
(1) requests:数据爬取,import requests(2) lxml中的xpath:数据解析,from lxml import etree(3) json:数据存储,import json下面直接上代码:# json + lxml + xpath + requests 爬取 “糗事百科”from lxml import etreeimport requestsimport jsonclass QiuShiBK(object): def __init__(sel..原创 2020-07-02 11:18:16 · 8764 阅读 · 0 评论 -
BeautifulSoup的几种遍历方式
1.下行遍历(1).contents :子节点的列表,将所有儿子节点存入列表(2).children :子节点的迭代类型,与.contents类似,用于循环遍历儿子节点(3).descendants :子孙节点的迭代类型,包含所有子孙节点,用于循环遍历for child in soup.body.children: print(child) # 遍历儿子节点 for child in soup.body.descendants: print(child) # 遍历子孙节点2.上行遍历原创 2020-06-29 16:53:38 · 13102 阅读 · 0 评论 -
BeautifulSoup中contents、children以及descendants的区别
.contents 返回的是一个 (子节点)的列表,将<tag>所有儿子节点存入列表 。.children返回的是一个 遍历 (子节点)的迭代器,与.contents类似,用于循环遍历儿子节点。.descendants 返回的是一个 (子孙节点)的迭代器,包含所有子孙节点,用于循环遍历。...原创 2020-06-29 16:43:45 · 10501 阅读 · 1 评论 -
BeautifulSoup搜索节点的几种方法
1. find和find_all方法:搜索文档树,一般用得比较多的就是两个方法,一个是find,一个是find_all。find方法是找到第一个满足条件的标签后就立即返回,只返回一个元素。find_all方法是把所有满足条件的标签都选到,然后返回回去。使用这两个方法,最常用的用法是出入name以及attr参数找出符合要求的标签。soup.find_all("a",attrs={"id":"link2"})或者是直接传入属性的的名字作为关键字参数:soup.find_all("a",id原创 2020-06-29 15:45:56 · 17431 阅读 · 0 评论 -
BeautifulSoup如何解析获取标签内的文本信息
BeautifulSoup获取标签内的文本信息通常有以下几种方式:1. string:获取某个标签下的非标签字符串,返回的是一个字符串。2. strings:获取某个标签下的子孙非标签字符串,返回的是一个生成器。3. stripped_strings:获取某个标签下的子孙非标签字符串,会去掉空白字符,返回的是一个生成器。4. get_text:获取某个标签下的子孙非标签字符串,返回的是普通字符串。...原创 2020-06-28 21:31:26 · 22124 阅读 · 0 评论 -
requests.text和requests.content的区别
我们在利用requests库进行网络数据爬取时,通常遇到编码问题,在通过requests的get方法获取响应后,通常有response.text和response.content两种输出格式:1. response.content: 这个是直接从网络上面抓取的数据,没有经过任何解码,所以说是一个bytes类型。其实在硬盘上和网络上传输的字符串都是bytes类型。因此在利用response.content进行输出时: 我们可以利用 resonse.content.decode进行解码为unico.原创 2020-06-27 11:21:03 · 11103 阅读 · 1 评论