Python 爬虫笔记(二)

时间:2023-03-12 13:53:31

个人笔记,仅适合个人使用(大部分摘抄自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)