- 解决print()中文的乱码问题!!!
# -*-coding:utf-8 -*- import io import sys #改变标准输出的默认编码(改变中文输出的乱码问题) sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
- selenium+chrome 浏览器进行爬虫
- 下载chrome的浏览器驱动(http://chromedriver.storage.googleapis.com/index.html)下载响应chrome浏览器版本(浏览器的版本 在chrome://version/这个网页可以看到)的即可(win32 就行)安装到C:\Program Files (x86)\Google\Chrome\Application 下面(exe文件)
-
#导入selenium的浏览器驱动接口 from selenium import webdriver from time import sleep #驱动路径 记得前面加r 防止字符转义 # !!! 注意这里必须把驱动程序中的路径写完整,后面必须加上这个chromedriver.exe 否则会报错 执行不成功 driver = webdriver.Chrome( " C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe " ) #用driver打开百度页面 后面的地址是百度的地址 driver. get ( ' http://www.baidu.com ' ) # 查找页面的“设置”选项,发送一个你要搜索的值,并进行点击 # 获取页面名为wrapper的id标签的文本内容 data = driver.find_element_by_id( " wrapper " ).text print(data.encode( ' GB18030 ' )) # 打印页面标题 " 百度一下,你就知道 " print(driver.title) # 生成当前页面快照并保存 driver.save_screenshot( " baidu.png " ) driver.find_element_by_id( ' kw ' ).send_keys( ' 人民币 ' ) sleep( 2 ) #并进行点击 driver.find_element_by_id( ' su ' ).click() sleep( 4 ) #退出驱动程序 driver.quit()
(参考:https://blog.csdn.net/u010986776/article/details/79266448)
-