网页手机号抓取程序(如何安装硒您需要满足两个要求才能使用的网站抓取数据)

优采云 发布时间: 2022-02-17 17:06

  网页手机号抓取程序(如何安装硒您需要满足两个要求才能使用的网站抓取数据)

  硒

  Selenium Web Driver 是一个浏览器自动化工具——你用它做什么完全取决于你。它在网络爬虫中变得流行,因为它可以用来从 JavaScript 丰富的 网站 中爬取数据。Python Requests 库和 Scrapy 等传统工具无法渲染 JavaScript,因此您需要 Selenium 来执行此操作。

  Selenium 可用于自动化许多浏览器,包括 Chrome 和 Firefox。在无头模式下运行时,您实际上不会看到浏览器打开,但它会模拟浏览器环境中的操作。使用 Selenium,您可以模拟鼠标和键盘操作、访问站点并获取您想要的任何内容。

  如何安装硒

  您需要满足两个要求才能使用 Selenium Web 驱动程序来自动化您的浏览器。其中包括 Selenium Python 绑定和浏览器驱动程序。在本文中,我们将使用 Chrome,因此您需要从此处下载 Chrome 驱动程序 - 确保它适用于您正在使用的 Chrome 版本。安装后,解压缩并将 chromedriver.exe 文件放在与 python 脚本相同的目录中。有了这个,您可以使用下面的 pip 命令安装 selenium python 绑定。

  pip install requests

  硒代码示例

  下面的代码展示了如何使用 Selenium 搜索亚马逊。请记住,脚本必须与

  chromedriver.exe

  文档

  from selenium import webdriver

from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()

driver.get("https://www.indeed.com/")

amazon_search = driver.find_element_by_id("twotabsearchtextbox")

amazon_search.send_keys("Web scraping for python developers")

amazon_search.send_keys(Keys.RETURN)

driver.close()

  使用 python 和 selenium,你可以像这个 网站 这样跨不同工作平台找到 python 开发人员的当前职位空缺和聚合数据,因此,你可以轻松地从 Glassdoor、flexjobs、monster 等中刮取 python 开发人员数据。

  美丽汤

  BeautifulSoup 是一个用于解析 HTML 和 XML 文件的解析库。它将网页文档转换为解析树,以便您可以以 Pythonic 方式遍历和操作它。使用 BeautifulSoup,您可以解析出任何您想要的数据,只要它是 HTML 格式的。重要的是要知道 BeautifulSoup 没有自己的解析器,它位于其他解析器之上,例如 lxml,甚至是 python 标准库中可用的 html.parser。在解析网络数据时,

  BeautifulSoup 是最受欢迎的选择。有趣的是,它很容易学习和掌握。用 BeautifulSoup 解析网页时,即使页面的 HTML 杂乱复杂,也没有问题。

  如何安装 BeautifulSoup

  像讨论的所有其他库一样,您可以通过 pip 安装它。在命令提示符中输入以下命令。

  pip install beautifulsoup4

  BeautifulSoup 代码示例

  下面是获取尼日利亚 LGA 列表并将其打印到控制台的代码。BeautifulSoup 没有下载网页的能力,所以我们将使用 Python Requests 库。

  import requests

from bs4 import BeautifulSoup

 

url = "https://en.wikipedia.org/wiki/Local_government_areas_of_Nigeria"

page_content = requests.get(url).text

soup = BeautifulSoup(page_content, "html.parser")

table = soup.find("table", {"class": "wikitable"})

lga_trs = table.find_all("tr")[1:]

for i in lga_trs:

tds = i.find_all("td")

td1 = tds[0].find("a")

td2 = tds[1].find("a")

l_name = td1.contents[0]

l_url = td1["href"]

l_state = td2["title"]

l_state_url = td2["href"]

print([l_name,l_url, l_state, l_state_url])

  lxml

  从这个库的名称可以看出,它与 XML 有关。实际上,它是一个解析器——一个真正的解析器,而不是像 BeautifulSoup 那样位于解析器之上的解析库。除了 XML 文件,lxml 还可以用来解析 HTML 文件。您可能有兴趣知道 lxml 是 BeautifulSoup 用于将网页文档转换为要解析的树的解析器之一。

  Lxml 解析速度非常快。但是,它很难学习和掌握。大多数网络爬虫并不是单独使用它,而是作为 BeautifulSoup 使用的解析器。所以实际上不需要代码示例,因为您不会单独使用它。

  如何安装 Lxml

  Lxml 在 Pypi 存储库中可用,因此您可以使用 pip 命令安装它。安装lxml的命令如下。

  pip install lxml

  Python网页抓取框架

  与仅用于一个功能的库不同,框架是一个完整的工具,其中收录开发 Web 抓取工具时所需的大量功能,包括发送 HTTP 请求和解析它们的能力。

  刮擦

  

  Scrapy 是最流行的,可以说是最好的网络抓取框架,作为开源工具公开提供。它是由 Scrapinghub 创建的,并且仍然被广泛管理。

  Scrapy 是一个完整的框架,因为它负责发送请求并从下载的页面解析所需的数据。Scrapy 是多线程的,是所有 Python 框架和库中最快的。它使复杂的网络爬虫的开发变得容易。但是,它的问题之一是它不呈现和执行 JavaScript,因此您需要为此使用 Selenium 或 Splash。知道它有一个陡峭的学习曲线也很重要。

  如何安装 Scrapy

  Scrapy 在 Pypi 上可用,因此您可以使用 pip 命令安装它。以下是在命令提示符/终端上运行以下载和安装 Scrapy 的命令。

  pip install scrapy

  抓取代码示例

  如前所述,Scrapy 是一个完整的框架,没有简单的学习曲线。对于代码示例,您需要编写大量代码,并且不会像上面那样工作。有关 Scrapy 代码示例,请访问 Scrapy 网站 的官方教程页面。

  蜘蛛

  

  Pyspider 是另一个为 Python 程序员编写的 Web 抓取框架,用于开发 Web 抓取工具。Pyspider 是一个强大的网络爬虫框架,可用于为现代网络创建网络爬虫。与 Scrapy 自身不渲染 JavaScript 不同,Pyspider 擅长这项工作。然而,在可靠性和成熟度方面,Scrapy 远远领先于 Pyspider。它允许分布式架构并提供对 Python 2 和 Python 3 的支持。它支持大量的数据库系统,并带有强大的 WebUI 用于监控爬虫/爬虫的性能。要运行它,它需要在服务器上。

  如何安装 Pyspider

  Pyspider 可以使用下面的 pip 命令安装。

  pip install pyspider

  PySpider 代码示例

  下面的代码是 Pyspider 在其文档页面上提供的示例代码。它抓取 Scrapy 主页上的链接。

  from pyspider.libs.base_handler import *

class Handler(BaseHandler):

crawl_config = {}

@every(minutes=24 * 60)

def on_start(self):

self.crawl("https://scrapy.org/", callback=self.index_page)

 

@config(age=10 * 24 * 60 * 60)

def index_page(self, response):

for each in response.doc('a][href^="http"]').items():

self.crawl(each.attr.href, callback=self.detail_page)

 

def detail_page(self, response):

return {"url": response.url, "title": response.doc('title').text()

  如前所述,Pyspider 在服务器上运行。您的计算机充当服务器的服务器,并将从 localhost 进行侦听,因此运行:

  pyspider

  命令和访问:5000/

  综上所述

  当谈到 Python 编程语言中可用于 Web 抓取的工具、库和框架的数量时,您需要知道有很多。

  但是,您无法学习其中的每一个。如果您正在开发一个不需要复杂架构的简单爬虫,则使用 Requests 和 BeautifulSoup 的组合将起作用 - 如果站点是 JavaScript 密集型的,则添加 Selenium。

  在这些方面,硒甚至可以单独使用。但是,当您期待开发复杂的网络爬虫或爬虫时,可以使用 Scrapy 框架。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线