蓋德化工採集新方案

2021-09-07 06:30:32 字數 3075 閱讀 7485

# -*- coding: utf-8 -*-

"""created on sun may 15 20:41:32 2016

@author: daxiong

"""

import requests,bs4,csv,time,random,os

#存放所有二級**

filename='combinedfile.csv'

#存放二級**目錄

site_hubei=""

pages_hubei=31

def get_sites(site,pages):

list_pages=

for page in range(1,pages+1):

thepage=site+"-"+"p"+str(page)+".html"

return list_pages

#獲取每一頁20個公司資訊儲存在list_rows_information

def get_page_information(elems):

#每一頁20個公司資訊儲存在list_rows_information裡面

list_rows_information=

num=len(elems)

for i in range(num):

try:

#公司名稱

elems_company_name=elems[i].select(".dblue")

company_name=elems_company_name[0].text

#主要產品

elems_main_product=elems[i].select("li")

main_product=elems_main_product[1].text.strip("\r\n")

#****

elems_contact=elems[i].select(".site_l")

content_contact=elems_contact[0].text

content_contact1=content_contact.strip("\r\n\r\n\t\r\n")

content_contact2=content_contact1.strip("\r\n")

list_content_contact=content_contact2.split("\r\n\r\n")

phone=list_content_contact[0]

address=list_content_contact[1]

except:

print("error at:",i)

continue

return list_rows_information

#把一頁內容寫入csv文件 ,list_tablecontent為二維列表[[a],[b],[c]]

def write_table_to_csv(filename,list_tablecontent):

#對列**式修改,字串寫入的格式不對

file=open(filename,'w',newline='')

writer1=csv.writer(file)

writer1.writerows(list_tablecontent)

file.close()

#寫入所有檔案

def write_alltables_to_csvs(list_pages):

for i in range(pages_hubei):

try:

res=requests.get(list_pages[i])

soup=bs4.beautifulsoup(res.text,"lxml")

#綜合資訊

elems=soup.select(".clist_list_content_r")

#獲取每一頁20個公司資訊儲存在list_rows_information

list_rows_information=get_page_information(elems)

filename=str(i+1)+".csv"

write_table_to_csv(filename,list_rows_information)

time.sleep(random.randint(10,15))

except:

print("error at:",i)

continue

#主函式

#獲取32頁主要**

list_pages=get_sites(site_hubei,pages_hubei)

'''#生產所有csv檔案

write_alltables_to_csvs(list_pages)

'''i=3

res=requests.get(list_pages[i])

soup=bs4.beautifulsoup(res.text,"lxml")

elems=soup.select(".clist_list_content_r")

#****

elems_contact=elems[2].select(".site_l")

content_contact=elems_contact[0].text

content_contact1=content_contact.strip("\r\n\r\n\t\r\n")

content_contact2=content_contact1.strip("\r\n")

list_content_contact=content_contact2.split("\r\n\r\n")

#有時候資訊會缺失,用正規表示式篩選text內容

phone=list_content_contact[0]

address=list_content_contact[1]

i=2和i=9錯誤

iOS 熱更新方案

由於蘋果在2017年3月左右更新了開發者協議,禁止需要線上審核的應用進行熱更新,所以請大家慎用 企業版不需要提交審核當然是可以使用的 一 jspatch 熱更新時,從伺服器拉去js指令碼。理論上可以修改和新建所有的模組,但是不建議這樣做。建議 用來做緊急的小需求和 修復嚴重的線上bug。二 lua指...

Hive增量更新方案

hive增量更新方案 方案一 總結出來業界可行方案 1 hive原始表提前規劃好以時間分割槽,初始化裝載源庫記錄為base table 最新資料 2 每個相關表都會有乙個timestamp列,對每一行操作做了修改,都會重置這列timestamp為當前時間戳 3 新增資料通過sqoop 支援當天抽取 ...

Unity 實時陰影新方案

大家都知道,實時光產生陰影的效能開銷很大,為了在移動端有更好的效能表現,所以在網上參考了一些方案,總結了乙個陰影shader去解決實時光效能開銷過大的問題。1.陰影shader,產生陰影的物體需要使用這個shader shader custom playershadow shadowinvlen s...