#! /usr/bin/env python
coding:utf-8
-- coding=utf-8 --
from imp import reload
import time
import urllib.request
import sys
import numpy as np
import pymysql
import re
from lxml import etree
from selenium import webdriver
解决中文报错的问题
reload(sys)
try:
driver = webdriver.Firefox(executable_path = ‘F:\geckodriver-v0.23.0-win64\geckodriver.exe’)
except Exception as e:
driver = webdriver.Firefox(executable_path = ‘F:\geckodriver-v0.23.0-win64\geckodriver.exe’)
构建agents防止反爬虫
user_agents = [
‘Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11’,
‘Opera/9.25 (Windows NT 5.1; U; en)’,
‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322; .NET CLR2.0.50727)’,
‘Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5(like Gecko) (Kubuntu)’,
‘Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12’,
‘Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9’,
“Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7”,
"Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 ",
]
time.sleep(5)
跳转到页面的url
urlconfing = open(r’F:\DomeTest\csv\url.txt’,encoding=‘utf-8-sig’)
for urlItem in urlconfing.readlines():
print(urlItem)
driver.get(urlItem.strip())
TODO 总共有100页,使用for循环采集,可根据类型页面更改 pageRange
pageRange = 101
for page in range(1, pageRange):
# 捕捉异常
# try:
# 获取企业名称列表
title = driver.find_elements_by_css_selector("a[class=list-item-title-text]")
print(len(title))
# 获取产品
product = driver.find_elements_by_xpath("//div[@class=\"list-item-detail\"]/div[1]/div[1]/a[1]")
# 打印长度,调试
print("第%s 页,本页面 (%s 页) :%s 个项目" %(page,pageRange,len(title)))
######################循环
for i in range(len(title)):
try:
title_value = title[i].get_attribute('title')
except Exception as e:
continue