python3+selenium爬取网站数据

电脑环境:

image.png

Python下载:
https://www.python.org/downloads/release/python-383/
3.X.X需要下载windows XXX executable installer
image.png

  1. 下载完成后打开,这里我下载的是3.8.3


    image.png

    pip 安装与使用
    Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。
    可以通过以下命令来判断是否已安装:
    pip3 --version # Python3.x 版本命令
    经过测试2.0的版本命令也是可以用的
    pip --version # Python2.x 版本命令


    image.png

    安装第三方库
    在进行爬取数据和解析数据前,需要在Python运行环境中下载安装第三方库requests。

    需要先升级pip,否则会出现下图的报错
    python -m pip install --upgrade pip


    image.png

    pip install requests
    在Windows系统中,打开cmd界面,在该界面输入pip install requests,按回车键进行安装。
    pip3 install pandas
    pip3 install numpy
    pip3 install bs4
    pip3 install lxml
    比较省事的办法是安装Anaconda套装
    这里安装的,是一个优秀的 Python 软件包管理工具 pipenv

输入代码
我直接使用了自带的IDLE工具
首先执行:
pip install pipenv
安装后,请执行
pipenv install
pip3 install jupyter
此处请确认你的电脑上已经安装了 Google Chrome 浏览器。
pipenv shell


image.png

jupyter notebook


image.png

选择new python3

运行python文件
python D:\code\crawlInfo.py
需要注意的一点python代码一定要顶格写
selenium安装
pip3 install selenium
下载与chrome版本匹配的chromedriver
http://chromedriver.storage.googleapis.com/index.html
我的版本是87.0.4280.66

image.png

http://chromedriver.storage.googleapis.com/index.html?path=86.0.4240.22/
配置
解压压缩包,找到chromedriver.exe复制到chrome的安装目录(其实也可以随便放一个文件夹)。

源码如下

from openpyxl import load_workbook
from openpyxl import Workbook
from urllib.request import urlopen
from urllib.request import Request
from urllib import parse
from lxml import etree
import sys
from bs4 import BeautifulSoup
from openpyxl import Workbook
import xlwt
import requests
import json
from bs4 import BeautifulSoup
from xlrd import open_workbook
import time
from xlutils.copy import copy

setSQLData = []
ws = load_workbook('D:\code\zhanghao.xlsx')
Sheet_1 = ws['Sheet1']
num = 0
for i in range(1,2187):
    B1 = Sheet_1.cell(i+1,4).value
    params = {"companyName": B1, "pageNo": 1, "pageSize": 10}
    row_content = []
    r = requests.post(url = 'https://www.jsrcxxg.com/myblog/api/getPageCompany', headers = {"Content-Type":"application/json"},json = params)
    data2 = json.loads(r.text)
    row = [data2['data']['list'][0]['companyName'], data2['data']['list'][0]['linePeople'], data2['data']['list'][0]['linePhone']]
    print (row)
    setSQLData.append(row)
    # 将数据写入Excel
wb = Workbook()
# 设置Excel文件名
dest_filename = 'crawlweb.xlsx'
# 新建一个表
ws1 = wb.active

# 设置表头
titleList = ['公司名', '联系人', '联系电话']
for row in range(len(titleList)):
    c = row + 1
    ws1.cell(row=1, column=c, value=titleList[row])

# 填写表内容
for listIndex in range(len(setSQLData)):
    ws1.append(setSQLData[listIndex])

wb.save(filename=dest_filename)

    
print ("end")

你可能感兴趣的:(python3+selenium爬取网站数据)