Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门
https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6EmUbbW&id=564564604865
# -*- coding: utf-8 -*-
"""
Created on Wed May 11 10:18:57 2016
@author: Administrator
"""
import requests,bs4,csv,time,random,os
fileName='combinedFile.csv'
#存放二级网址目录
thedir='C:/Users/Administrator/Desktop/盖得化工测试/二级链接/'
#获取所有csv文件名
def Get_csvFileNames():
#获取路径下所有文件
list_FileNames=os.listdir(thedir)
#获取路径下所有csv文件
list_csvFileNames=[fileName for fileName in list_FileNames if os.path.splitext(fileName)[1]==".csv"]
return list_csvFileNames
#获取一个csv文件的公司的二级网址,一共二十个
def Get_second_links(fileName):
file=open(fileName,'r')
csv_reader=csv.reader(file)
second_links=list(csv_reader)
second_links1=[i[1] for i in second_links]
return second_links1
#获取一个公司的信息:名字,主要产品,联系方式,地址 ,并保存到一个row的列表中
def Get_companeyInformation(secondLink):
#row用于保存公司所有采集信息
row=[]
res=requests.get(secondLink)
soup=bs4.BeautifulSoup(res.text,"lxml")
#公司名字
companyName_elem=soup.select(".cnname")
companyName=companyName_elem[0].getText()
#主要产品
mainProduct_elem=soup.select(".main-product")
mainProduct=mainProduct_elem[0].getText()
#地址
address_elem=soup.select(".public-ul")
content=address_elem[1].getText()
content1=content.split('
')
address=content1[3]
site_company=content1[6]
site_company1=site_company.strip(' ')
site_company2=site_company1.split("xa0")
site_company3=site_company2[0:2] #最终结果
row.append(secondLink)
row.append(companyName)
row.append(mainProduct)
row.append(address)
row.append(site_company3)
return row