Python 爬虫笔记(二)
个人笔记,仅适合个人使用(大部分摘抄自python修行路)
1、使用selenium(传送)
selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。
selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。
from selenium import webdriver browser = webdriver.Chrome() browser = webdriver.Firefox()
失败
原因:未安装浏览器驱动
安装三大浏览器驱动driver
1.chromedriver 下载地址:https://code.google.com/p/chromedriver/downloads/list
2.Firefox的驱动geckodriver 下载地址:https://github.com/mozilla/geckodriver/releases/
3.IE的驱动IEdriver 下载地址:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/
注意:下载解压后,将chromedriver.exe , geckodriver.exe , Iedriver.exe发到Python的安装目录,例如 D:\python 。 然后再将Python的安装目录添加到系统环境变量的Path下面。
from selenium import webdriver browser = webdriver.Firefox() browser.get("https://movie.douban.com/top250") #input_second = browser.find_element_by_css_selector("html.ua-windows.ua-ff55 body div#wrapper div#content div.grid-16-8.clearfix div.article ol.grid_view li div.item div.info div.hd a span.title") input_third = browser.find_element_by_xpath(\ '//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[1]/a/span[1]/text()') #print(input_second) print(input_third.text) browser.close()
cookie操作
get_cookies()
delete_all_cookes()
add_cookie()
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.zhihu.com/explore') print(browser.get_cookies()) browser.add_cookie({'name': 'name', 'domain': 'www.zhihu.com', 'value': 'zhaofan'}) print(browser.get_cookies()) browser.delete_all_cookies() print(browser.get_cookies())
随机User-agent
import requests from fake_useragent import UserAgent ua = UserAgent() headers = {'User-Agent': ua.random} url = '待爬网页的url' resp = requests.get(url, headers=headers)