前言
以前寫爬蟲都是用requests包,雖然很好用,不過還是要封裝一些header啊什麼的,也沒有用過無頭瀏覽器,今天偶然接觸了一下。
原因是在處理乙個錯誤的時候,用到了幾個以前沒有用過的工具;這幾個工具也挺常見的,在這裡一起總結一下。包括以下幾個:
selenium
簡介安裝
簡單使用
from selenium import webdriver
driver = webdriver.chrome.webdriver.webdriver()
driver.get("")
# 獲取原始碼
a = driver.page_source.encode('utf-8')
# 查詢資源/tag
driver.find_element_by_xpath(u"//img[@alt='強化學習 (reinforcement learning)']").click()
driver.find_element_by_link_text("about").click()
# 截圖
driver.get_screenshot_as_file("./img/sreenshot1.png")
requests-html
簡介是不是看見requests很熟悉,沒錯,這個就是會拍照又會寫**的requests的作者寫的又乙個庫;
這個庫**並不是很多,都是基於其他庫封裝的,lxml/requests啊這些;使用也很簡單,遵循了他的宗旨:for humans
安裝
pip install requests-html
使用from requests_html import htmlsession
session = htmlsession()
r = session.get('')
# 獲取頁面上的鏈結
r.html.links
r.html.absolute_links
# 用css選擇器選擇乙個元素
about = r.html.find('#about', first=true)
print(about.text)
# xpath
r.html.xpath('a')
參考 python爬蟲工具安裝
re與urllib模組一般python自帶 pip install requests有些 是js渲染的,需要借助瀏覽器載入,在此需要安裝selenium pip install selenium還需要安裝chrome瀏覽器以及瀏覽器對應的chromedrive 安裝成功測試 可以看出以上需要開啟乙個...
python爬蟲總結
import requests import os def getmanypages keyword,pages params for i in range 30,30 pages 30,30 從30開始,到30 pages結束,以30為跳躍 tn resultjson com ipn rj ct ...
Python 爬蟲總結
個人經驗,僅供參考,錯誤之處,敬請諒解 模組 requests,re 使用示例 這是闖關的簡單案例 encoding utf 8 import requests import re url start r requests.get url start number re.findall d r.te...