Python是一種易學易用的編程語言,它為網頁爬取和數據挖掘提供了很多強大的支持。Python的爬蟲庫也非常豐富,其中一些最受歡迎的庫包括:
import urllib.request from bs4 import BeautifulSoup url = "https://www.example.com" html = urllib.request.urlopen(url).read() soup = BeautifulSoup(html, "html.parser") print(soup.prettify())
1. Beautiful Soup
Beautiful Soup是一個用Python編寫的庫,用于從HTML和XML文檔中提取數據。它常常被比喻成是一個HTML與XML的解析器,旨在提供一些便捷且易于使用的函數。
示例:
import requests from bs4 import BeautifulSoup url = 'https://www.example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') print(soup.title.string)
2. scrapy
Scrapy是一個頗受歡迎的Python網絡爬蟲框架,它可用于編寫各種不同的爬蟲項目。它具有很多優點,例如它是異步的、快速的、可擴展的、可配置的等等。
示例:
import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" start_urls = [ 'http://quotes.toscrape.com/page/1/', 'http://quotes.toscrape.com/page/2/', ] def parse(self, response): for quote in response.css('div.quote'): yield { 'text': quote.css('span.text::text').get(), 'author': quote.css('span small::text').get(), 'tags': quote.css('div.tags a.tag::text').getall(), } next_page = response.css('li.next a::attr(href)').get() if next_page is not None: yield response.follow(next_page, self.parse)
3. urllib
Urllib是一個Python內置的HTTP請求庫。它能夠處理GET和POST請求、設置請求頭、處理Cookies、讀取響應內容等等。
示例:
import urllib.request url = "https://www.example.com" response = urllib.request.urlopen(url) print(response.read())
這些是Python爬蟲庫中最常用的一些。無論您是新手還是老手,當涉及到Python網頁爬取時,這些庫很可能都會幫到您。