小白也能操作的爬虫web scraper实战——爬取知乎热榜(成功)

本节重点学习了以下内容

1、element与element click

2、重点理解主干与分支

3、理解multiple的用法

4、理解P的使用方法

5、没有涉及到翻页。

知乎 - 有问题,就会有答案

在根目录下建立一个选择器(白话:我想选择每个家庭的汇总信息)

想选择每个家庭的,所以需要multiple

不要忘记Done selecting(其中的P的意思是连续选择,当需要连续的时间,可以按P)

然后需要点进这个“热点汇总信息”目录

再去抓取家庭中的信息

比如热榜标题(因为此时是单个家庭,所以不需要multiple)

热榜照片(因为我们是获取照片的链接,所以用link,有了链接,可以使用其他的工具下载图片)

查看一下刚才的选择器,还可以预览Data preview
(这里有个问题,选择器的顺序不知道是否可以调)

我还想爬取里面的家庭说明(这个需要点进去,到二级页面)那么需要用到link

下面一步要注意,①需要点进热榜二级页面进行爬取②需要在网页中点击到二级页面(这一步网页可能会跳转到新的网页,那么还需要按F12或者直接把跳转的新网页的链接,复制到刚才操作页面)

可以看到热榜内容需要点击“显示全部”

然后选择热榜文字,这里的文字可能有多段,需要点击multiple

最后点击爬取

这里的2000是表示2s

导出excel或csv

爬取后,发现有多行是一样的内容。(可能是在跳转二级链接后,选择文字使用了multiple的原因)

修改选择器

选择多段的时候,使用P,然后去掉multiple

不显示数据的话可以点这个

结果图:

热榜照片的链接不正确,应该在热榜二级链接里面进行获取

点击进去,热榜二级页面,然后新建一个选择器(之前的照片链接那里可以删掉)

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是关于使用 Python 的 web scraper 爬取二级网页的简单教程: 1. 导入必要的库 在 Python 中,我们需要使用一些第三方库来实现网页爬取。其中,最为常用的包括 requests 和 BeautifulSoup。前者用于获取网页源代码,后者用于解析 HTML 代码。 ```python import requests from bs4 import BeautifulSoup ``` 2. 获取二级网页 要获取二级网页的内容,我们首先需要获取主网页的链接,然后使用 requests 库获取其源代码,进而找到所有二级网页的链接。我们可以使用 BeautifulSoup 库解析 HTML 代码,并使用 find_all 方法找到所有 a 标签中的 href 属性,即所有链接。 ```python # 获取主网页的链接 url = "https://example.com" response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") # 获取所有二级网页的链接 links = [] for link in soup.find_all("a"): href = link.get("href") if href.startswith("https://example.com/second-level"): links.append(href) ``` 这里我们假设所有二级链接都以 "https://example.com/second-level" 开头。 3. 爬取二级网页的内容 现在我们已经得到了所有二级网页的链接,接下来就可以依次爬取它们的内容了。和获取主网页的源代码类似,我们可以使用 requests 库获取每个二级网页的源代码,然后使用 BeautifulSoup 库解析 HTML 代码,找到我们需要的内容。 ```python # 爬取所有二级网页的内容 for link in links: response = requests.get(link) soup = BeautifulSoup(response.content, "html.parser") # 这里可以根据需要找到需要的内容 ... ``` 这里需要注意的是,每个二级网页的 HTML 代码可能会有所不同。因此,我们需要根据实际情况找到我们需要的内容。 4. 完整代码 以下是一个完整的示例程序,用于爬取某个网站中以 "https://example.com/second-level" 开头的所有二级网页的标题和正文: ```python import requests from bs4 import BeautifulSoup # 获取主网页的链接 url = "https://example.com" response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") # 获取所有二级网页的链接 links = [] for link in soup.find_all("a"): href = link.get("href") if href.startswith("https://example.com/second-level"): links.append(href) # 爬取所有二级网页的内容 for link in links: response = requests.get(link) soup = BeautifulSoup(response.content, "html.parser") # 找到标题和正文 title = soup.find("h1").text content = soup.find("div", class_="content").text # 输出结果 print("Title:", title) print("Content:", content) ``` 这段代码可以根据实际需要进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

题海无涯10

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值