前提:
python3.4
windows
正題:爬蟲的第一步都是先手工操作一遍(閒話)
當你跳到第二頁時可以看到「
好了,url可以得到了
1 url = ''+search+'&page='+str(page)
1 search = urllib.request.quote(search)
page是用來迴圈的
1 for page in range(1,pagenum+1):2 url = ''+search+'&page='+str(page)
完整的url已經得到了,接下來訪問url,獲得其中的資料(建立opener物件,新增header())
1 importurllib.request2 header = ('user-agent','mozilla/5.0')
3 opener =urllib.request.build_opener()
4 opener.addheaders =[header]
5 urllib.request.install_opener(opener)
6 data = urllib.request.urlopen(url).read().decode()
得到頁面內容,採用正則表達獲取相關資料
1 importre2 finddata = re.compile('(.*?)').findall(data)
3 #finddata = [('',''),('','')]
1 title = title.replace('','')2 title = title.replace('','')
1 link = link.replace('amp;','')
將處理後的標題和鏈結儲存在列表中
如此搜尋的標題和鏈結都得到了,接下來匯入excel
先建立excel
1 importxlsxwriter2 workbook = xlsxwriter.workbook(search+'.xlsx')
將title_link中的資料匯入excel
1 for i in range(0,len(title_link),2):2 worksheet.write('a'+str(i+1),title_link[i+1])
3 worksheet.write('c'+str(i+1),title_link[i])
4 workbook.close()
完整**:
1 '''2 python3.4 + windows
3 羽凡-2017/7/11-
5 每個頁面10秒延遲,防止被限制
6 import urllib.request,xlsxwriter,re,time
7 '''
8 importurllib.request
10 pagenum = int(input('搜尋頁數:'))
11 importxlsxwriter
12 workbook = xlsxwriter.workbook(search+'.xlsx')
13 search =urllib.request.quote(search)
14 title_link =
15 for page in range(1,pagenum+1):
16 url = ''+search+'&page='+str(page)
17 importurllib.request
18 header = ('user-agent','mozilla/5.0')
19 opener =urllib.request.build_opener()
20 opener.addheaders =[header]
21 urllib.request.install_opener(opener)
22 data =urllib.request.urlopen(url).read().decode()
23 importre
24 finddata = re.compile('(.*?)').findall(data)
25 #finddata = [('',''),('','')]
26 for i inrange(len(finddata)):
27 title = finddata[i][1]
28 title = title.replace('','')
29 title = title.replace('','')
30 try:
31 #標題中可能存在引號
32 title = title.replace('「','"')
33 title = title.replace('」','"')
34 except:
35 pass
36 link =finddata[i][0]
37 link = link.replace('amp;','')
40 print('第'+str(page)+'頁')
41 importtime
42 time.sleep(10)
44 worksheet.set_column('a:a',70)
45 worksheet.set_column('c:c',100)
46 bold = workbook.add_format()
47 worksheet.write('a1','標題',bold)
48 worksheet.write('c1','鏈結',bold)
49 for i in range(0,len(title_link),2):
50 worksheet.write('a'+str(i+1),title_link[i+1])
51 worksheet.write('c'+str(i+1),title_link[i])
52 workbook.close()
53 print('匯入excel完畢!')
python3爬蟲之開篇
寫在前面的話 折騰爬蟲也有一段時間了,從一開始的懵懵懂懂,到現在的有一定基礎,對於這一路的跌跌撞撞,個人覺得應該留下一些文本性的東西,畢竟好記性不如爛筆頭,而且畢竟這是吃飯的傢伙,必須用心對待才可以,從今天起,我將會把關於爬蟲的東西進行乙個整理,以供後期的查閱,同時也想將自己的一點點經驗分享給大家。...
抓取知網摘要 搜狗微信文章 搜狗新聞的爬蟲
個人專案,只支援python3.需要說明的是,本文中介紹的都是小規模資料的爬蟲 資料量 1g 大規模爬取需要會更複雜,本文不涉及這一塊。另外,細節就不過多說了,只將乙個大概思路以及趟過的坑。本文中涉及的阿布雲ip隧道及雲打碼平台需要自己註冊,並在code中相應部分取消注釋。需要在每個模組中建立out...
python3爬蟲實戰(3)
今天心血來潮去爬取了一下招聘 的實時招聘資訊。是 選的條件是北京,實習生,計算機軟體。分析 之後發現還是很容易的,不過過程中出了不少小問題,在這裡分享一下。想要爬取的是類似的表單內容。是在ul的li裡。用beautifulsoup解析之後,tem ul bsoj.find ul 存下整個ul元素。對...