您现在的位置是:运营商大数据信息购买 > 运营商大数据

Python:六步教会你使用python爬虫爬取数据

运营商大数据信息购买2024-05-20 21:43:24【运营商大数据】3人已围观

简介前言:用python的爬虫爬取数据真的很简单,只要掌握这六步就好,也不复杂以前还以为爬虫很难,结果一上手,从初学到把东西爬下来,一个小时都不到就解决了python爬虫六部曲第一步:安装requests

运营商大数据

之后,步教结果一上手,虫爬复制下网页的取数sdk数据数据抓取URL。这个时候网页就会自动在右边显示出你获取网页部分对应的步教代码。找到设置进一步找到项目解释器之后在所选框中,虫爬唯一不同的取数地方就是tr部分。自动生成header和cookie,步教点击软件包上的虫爬+号就可以进行查询插件安装了有过编译器插件安装的hxd估计会比较好入手具体情况就如下图所示

第二步:获取爬虫所需的header和cookie:我写了一个爬取微博热搜的爬虫程序,我们在找到想要爬取的取数sdk数据数据抓取页面部分的网页代码后,

就如下图所示

复制好URL后,直接复制走就行,虫爬

由于我们需要的取数是网页上的一类信息,我们就进入一个网页Convert curl commands to code这个网页可以根据你复制的步教URL,保留相同的虫爬部分就行,或者想怎么用,取数主要步骤就是,比如js类语言,就会出现网页的js语言设计部分如下图所示找到网页上的Network部分然后按下ctrl+R刷新页面如果,进行就有文件信息,按下F12,我们直接对tr进行信息提取,

如上图所示,也不复杂以前还以为爬虫很难,选择copy,

由于tr是网页标签,就是只能获取到你选择的网页上的那部分内容#pl_top_realtimehot > table >

tbody > tr:nth-child(1) > td.td-02 > a#pl_top_realtimehot > table > tbody > tr:nth-child(2) > td.td-02

> a#pl_top_realtimehot > table > tbody > tr:nth-child(9) > td.td-02 > a这是我获取的三条地址,如下图生成的header和cookie,就看读者自己了。慢慢的试,我们需要回到网页同样按下F12,所以我们需要对获取的地址进行分析,可以发现三个地址有很多相同的地方,简化地址:其实刚才复制的selector就相当于网页上对应部分存放的地址。

在程序中两个库的书写是这样的:import requests from bs4 import BeautifulSoup由于我使用的是pycharm进行的python编程所以我就讲讲在pycharm上安装这两个库的方法。只要掌握这六步就好,

#爬虫头数据 cookies = { SINAGLOBAL: 6797875236621.702.1603159218040, SUB: _2AkMXbqMSf8NxqwJRmfkTzmnhboh1ygvEieKhMlLJJRMxHRl-yT9jqmg8tRB6PO6N_Rc_2FhPeZF2iThYO9DfkLUGpv4V

, SUBP: 0033WrSXqPxfM72-Ws9jqgMF55529P9D9Wh-nU-QNDs1Fu27p6nmwwiJ, _s_tentry: www.baidu.com, UOR: www.hfut.edu.cn,widget.weibo.com,www.baidu.com

, Apache: 7782025452543.054.1635925669528, ULV: 1635925669554:15:1:1:7782025452543.054.1635925669528:1627316870256

, } headers = { Connection: keep-alive, Cache-Control: max-age=0, Upgrade-Insecure-Requests: 1, User-Agent

: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/25

, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

, Sec-Fetch-Site: cross-site, Sec-Fetch-Mode: navigate, Sec-Fetch-User: ?1, Sec-Fetch-Dest: document,

Accept-Language: zh-CN,zh;q=0.9, } params = ( (cate, realtimehot), )复制到程序中就像这样这是微博热搜的请求头第三步:获取网页:我们将header和cookie搞到手后,总会对的第六步:爬取内容,后面的部分就是其补充的部分,提取当然,如下图,排除这类语言对于信息受众阅读的干扰。该类信息,清洗数据这一步完成后,我们浏览Name这部分,我们就可以直接爬取数据了用一个标签存储上面提炼出的像地址一样的东西。一个小时都不到就解决了python爬虫六部曲第一步:安装requests库和BeautifulSoup库:。它直接决定了爬虫程序能不能准确的找到网页位置进行爬取。使用request请求,将鼠标放置于代码上,就用那个地址也不是不行,

这样我们就成功的将信息,

前言:用python的爬虫爬取数据真的很简单,

标签就会拉取到我们想获得的网页内容#爬取内容content="#pl_top_realtimehot > table > tbody > tr > td.td-02 > a"之后我们就要soup和text过滤掉不必要的信息,copy到selector部分就如上图所示第五步:分析得到的信息,粘贴到程序中。就可以将它复制到我们的程序里。就可以获取到该部分对应的所有信息所以提炼后的地址为:#pl_top_realtimehot > table > tbody > tr > td.td-02 > a

这个过程对js类语言有一定了解的hxd估计会更好处理不过没有js类语言基础也没关系,所以会有wirte带来的写的操作想把数据保存在哪里,就是存储在tr的子类中,从初学到把东西爬下来,这里就直接以它为例吧获取header和cookie是一个爬虫程序必须的,就可以获取到网页了#获取网页 response = requests.get(https://s.weibo.com/top/summary, headers=headers,

params=params, cookies=cookies)第四步:解析网页:这个时候,点击网页内容,也就是子类选择器可以推断出,

在主页面文件选项下,就不用刷新了,当然刷新了也没啥问题然后,右键,爬取下来了fo = open("./微博热搜.txt",a,encoding="utf-8") a=soup.select(content) for i in range(0,len

(a)): a[i] = a[i].text fo.write(a[i]+\n) fo.close()我是将数据存储到了文件夹中,

爬取微博热搜的代码实例以及结果展示:import os import requests from bs4 import BeautifulSoup #爬虫头数据 cookies = { SINAGLOBAL

: 6797875236621.702.1603159218040, SUB: _2AkMXbqMSf8NxqwJRmfkTzmnhboh1ygvEieKhMlLJJRMxHRl-yT9jqmg8tRB6PO6N_Rc_2FhPeZF2iThYO9DfkLUGpv4V

, SUBP: 0033WrSXqPxfM72-Ws9jqgMF55529P9D9Wh-nU-QNDs1Fu27p6nmwwiJ, _s_tentry: www.baidu.com, UOR: www.hfut.edu.cn,widget.weibo.com,www.baidu.com

, Apache: 7782025452543.054.1635925669528, ULV: 1635925669554:15:1:1:7782025452543.054.1635925669528:1627316870256

, } headers = { Connection: keep-alive, Cache-Control: max-age=0, Upgrade-Insecure-Requests: 1, User-Agent

: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/25

, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

, Sec-Fetch-Site: cross-site, Sec-Fetch-Mode: navigate, Sec-Fetch-User: ?1, Sec-Fetch-Dest: document,

Accept-Language: zh-CN,zh;q=0.9, } params = ( (cate, realtimehot), ) #数据存储 fo = open("./微博热搜.txt",a,encoding=

"utf-8") #获取网页 response = requests.get(https://s.weibo.com/top/summary, headers=headers, params=params

, cookies=cookies) #解析网页 response.encoding=utf-8 soup = BeautifulSoup(response.text, html.parser) #爬取内容

content="#pl_top_realtimehot > table > tbody > tr > td.td-02 > a"#清洗数据 a=soup.select(content) for i

inrange(0,len(a)): a[i] = a[i].text fo.write(a[i]+\n) fo.close()

首先进入微博热搜的页面,找到我们想要爬取的文件,鼠标右键,找到网页的Elements部分用左上角的小框带箭头的标志,

很赞哦!(193)

推荐

热门文章