python + selenium 爬虫 基础操作
2021/12/28 20:09:15
本文主要是介绍python + selenium 爬虫 基础操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先在 cmd 执行下面代码,下载 selenium 库
pip install selenium
如果你使用的是 anaconda , 使用这个打开命令行,并且执行上面语句
下载浏览器驱动 chromedriver
- 打开你的谷歌浏览器 => 设置 => 关于 chrome
- 找到你当前的谷歌浏览器版本,例如 96.0.xxxx
- 进入下面网站,找到对应的版本第一个,点击下载
https://chromedriver.chromium.org/downloads
下载的文件保存到 c:/chromedriver/chromedriver.exe
编写爬虫代码
下面为爬取天眼查的公司例子
打开 py 编辑器
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By import pandas as pd import time # chrome driver 驱动 path = "C:/chromedriver/chromedriver.exe" # 创建 chrome driver 实例 driver = webdriver.Chrome(service=Service(path)) # 进入主页 driver.get("https://www.tianyancha.com/login") time.sleep(1) # 跳转到账号密码登录 driver.execute_script("loginObj.changeCurrent(1);") time.sleep(1) # 找到 #mobile 元素, 并输入账号 driver.find_element(By.ID,"mobile").send_keys("xxxxxxxx") # 找到 #password 元素, 输入密码 driver.find_element(By.ID,"password").send_keys("xxxxxxxx") # 使用 By.CSS_SELECTOR , 进行css选择器搜索,并点击登录框 driver.find_element(By.CSS_SELECTOR,'[οnclick="loginObj.loginByPhone(event);"]').click() # 等待 10 秒钟,在这期间手动进行滑动块的验证 time.sleep(10) # 爬取的页数 count = 5 # 爬取结果 companyList = [] # 爬取前 5 页数据 for i in range(1,5): # 遍历页数 driver.get("https://www.tianyancha.com/search/p"+str(i)+"?key=北京企业") results = driver.find_elements(By.CLASS_NAME,"search-result-single") for res in results: # 创建一个字典 obj = {} obj['公司名字'] = res.find_element(By.CSS_SELECTOR,".name").text obj['注册资本'] = res.find_element(By.CSS_SELECTOR,".title.-narrow.text-ellipsis").text.replace('注册资本:', '') obj['成立日期'] = res.find_elements(By.CSS_SELECTOR,".title.text-ellipsis")[2].text.replace('成立日期:', '') obj['公司评分'] = res.find_element(By.CSS_SELECTOR,".score").text .replace("分","") # 将字典添加到列表 companyList.append(obj) # 保存数据 df = pd.DataFrame(companyList) df.to_csv("C:/result.csv",index=0,encoding="gbk")
这篇关于python + selenium 爬虫 基础操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python