您现在的位置是:网站首页> PY&Rust

Python爬虫篇

  • PY&Rust
  • 2025-08-27
  • 1034人已阅读
摘要

Python爬虫篇

1.jpg


playwright介绍

Python编写爬虫主要用哪些包

使用Scrapy 爬取javascript生成的页面内容的例子



Python编写爬虫主要用哪些包

Python编写爬虫时,主要使用以下几个包:

1. Requests:用于发送HTTP请求并获取响应。可以用它来获取网页内容或者API数据。

2. Beautiful Soup:用于解析HTML或XML文档,提取出需要的信息。它可以帮助你从网页中提取出特定的标签、文本或链接。

3. Scrapy:一个高级的Python爬虫框架,提供了强大的爬取和数据提取功能。它支持异步处理、分布式爬取和数据管道等特性。

4. Selenium:用于自动化测试和模拟浏览器行为的工具。它可以模拟用户在浏览器中的操作,如点击、填写表单等,对于需要执行JavaScript的网页爬取非常有用。

5. PyQuery:类似于jQuery的库,用于解析HTML文档并提取出需要的信息。它提供了简洁的语法和强大的选择器功能。

6. Scrapy-Redis:基于Scrapy框架的分布式爬虫扩展,使用Redis作为分布式队列,可以实现多台机器同时进行爬取。

7. Splash:一个JavaScript渲染服务,可以用于处理动态网页。它可以将JavaScript渲染后的页面返回给爬虫,从而能够获取到完整的页面内容。

除了以上列举的包,还有其他一些常用的辅助库,如pandas(数据处理)、numpy(数值计算)、scikit-learn(机器学习)等,根据具体需求可以灵活选用。


使用Scrapy 爬取javascript生成的页面内容的例子

当使用Scrapy爬取JavaScript生成的页面内容时,可以借助于Splash来执行JavaScript并获取完整的渲染结果。以下是一个使用Scrapy和Splash的示例代码:


import scrapy

from scrapy_splash import SplashRequest


class MySpider(scrapy.Spider):

    name = 'javascript_spider'


    def start_requests(self):

        # 使用SplashRequest发送带有JavaScript的请求

        yield SplashRequest(url='http://example.com', callback=self.parse)


    def parse(self, response):

        # 在这里可以使用XPath或CSS选择器提取JavaScript渲染后的页面内容

        title = response.xpath('//title/text()').get()

        print(title)

上述代码中,我们创建了一个名为javascript_spider的Spider,并在start_requests方法中使用SplashRequest发送请求。SplashRequest会将请求发送给Splash服务,并执行JavaScript渲染,然后返回渲染后的页面内容。在parse方法中,我们可以使用XPath或CSS选择器提取需要的数据。


注意,为了使用Splash,你需要安装scrapy-splash扩展,并在Scrapy的配置中启用它。你还需要启动Splash服务,并将其与Scrapy进行集成。可以参考Scrapy和Splash的文档以获取更详细的配置和使用说明。


playwright介绍

它有适合python和nodejs的版本

点击查看之前收集

官方API文档


Python:

 # 可替换为 'firefox' 或 'webkit'

browser = p.chromium.launch(headless=False)  # headless=False 显示浏览器界面


NodeJS:

Playwright 会下载自带的浏览器版本(Chromium、Firefox、WebKit),但你也可以用本地安装的浏览器路径来启动

//指定本地的chrome

const { chromium } = require('playwright');

(async () => {  

const browser = await chromium.launch({

    headless: false, // 显示浏览器界面

 executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' // 本地 Chrome 路径

  });













Top