Scrapy是一種Python語言的網絡爬蟲框架。它被用來從網站上面抓取信息。Scrapy使用一些強大而靈活的方式來告訴它從目標網站中提取數據的方式。其中一個非常有用的方法是css()方法。
Css()方法是Scrapy的一個內置方法,它使用CSS選擇器來定位HTML元素。這個方法允許您根據元素的標簽、類、ID以及其他屬性來選擇HTML片段。Scrapy的css()方法代表基于CSS選擇器的XPath語句。
from scrapy.selector import Selector
from scrapy.http import HtmlResponse
# 創建測試HTML頁面
body = '''《流浪地球》
購買《三體》
購買'''
# 創建HtmlResponse對象
response = HtmlResponse(url='http://www.test.com', body=body)
# 從response中選取包含書籍信息的div標簽
books_divs = response.css('div.books')
# 輸出結果
for div in books_divs:
book_title = div.css('h1::text').get()
book_url = div.css('a::attr(href)').get()
print(book_title, book_url)
在上面的代碼中,我們首先使用HtmlResponse對象來創建仿真頁面。然后我們使用css()方法來選取其中所有class為books的div標簽。最后我們遍歷這些div標簽,分別輸出其中包含的書籍信息。
通過以上的示例,我們可以看到,使用css()方法是非常簡單的。通過使用它,我們可以利用CSS選擇器簡單而快速地定位HTML片段,然后從中提取出有用的信息。