Python簡單爬蟲記錄

爲了避免自己忘了Python的爬蟲相關知識和流程,下面簡單的記錄一下爬蟲的基本要求和編程問題!!

簡單瞭解了一下,爬蟲的方法很多,我簡單的使用了已經做好的庫requests來獲取網頁信息和BeautifulSoup來進行正則判定文本。這樣也算是簡單的入門了爬蟲的基本實驗,也能夠從網頁上爬取自己想要的信息!

 1 link = 'http://news.sina.com.cn/'
 2 res = requests.get(link)
 3 res.encoding = 'utf-8' #設置文本的編碼格式是utf-8的文件格式
 4 soup = BeautifulSoup(res.text, 'html.parser') #通過res中的成員變量.text來得到HTML的文本res.text
 5 alink = soup.select('a') #選擇class模塊中的a來作爲提取的目標的判定條件:<a href="http://mil.news.sina.com.cn/"><span class="titName ptn_05">軍事</span></a>
 6 DATA = set() #創建一個set集合
 7 Cookies = ['軍事', '教育', '科技', '文化'] #創建一個目標提取項目
 8 for link in alink:
 9     if link.text in Cookies: #alink中包含了所有的以a開頭的class文本,link.text提取了其中一個link的文本內容
10         Temp = 'The title of link '+link.text+' is :'+link['href'] #使用link['herf']來取herf對應的字典字符串,也就是對應的鏈接
11         DATA.add(Temp) #在DATA數據中加入滿足正則要求的文本文件
12 for Info in DATA:
13     print(Info)
14 Check = input('Please input the content you want to see:')
15 Str = ''
16 for W in list(DATA):
17     if W.find(Check) != -1:
18         Str = Str + W + '\n'
19 File = open('C:\\Users\\Administrator\Desktop\Python爬蟲準備\demo\Info1.txt', 'w') #將取得的文件寫入到文件夾當中
20 File.writelines(Str)
21 File.close()
22 
23 HTML = 'http://book.weibo.com/newcms/tp_p4c51t160.html'
24 res = requests.get(HTML)
25 res.encoding = 'utf-8'
26 soup = BeautifulSoup(res.text, 'html.parser')
27 title = soup.select('.S_title')
28 print(title[0].text)
29 content = soup.select('.S_explain')
30 print(content[0].text)
31 Count = soup.select('.book_vote')
32 Bname = soup.select('.book_name')
33 Aname = soup.select('.book_author')
34 Blink = soup.select('a')
35 Info = ''
36 for i in range(len(Bname)):
37     Info = Info + Bname[i].text + '-->' + Aname[i].text + '(' +\
38            Count[i].text.replace(' ', '') + ')' + '--link:' +\
39            Blink[i*4]['href']+'\n\n'
40 print(Info)
41 Data = title[0].text + '\n' + content[0].text + '\n' + Info
42 F = open('C:\\Users\\Administrator\Desktop\Python爬蟲準備\demo\Info2.txt', 'w')
43 F.writelines(Data)
44 F.close()
45 
46 Init_link = 'https://www.douyu.com/directory/all'
47 Data = requests.get(Init_link)
48 Data.encoding = 'utf-8'
49 soup = BeautifulSoup(Data.text, 'html.parser')
50 Res = soup.select('.mes')
51 Count = soup.select('p')
52 for i in Res:
53     if i.text.find('英雄聯盟') != -1:
54         Str = i.text.replace(' ', '').replace('\n', '')
55         print(Str)
56         print(Str[len(Str)-3:len(Str)])
57 print(len(Res))

對於爬蟲,你只需要大概的懂得一些HTML網頁的編程就可以了,主要的是要能分析網頁的結構,和在每一步中得到的數據的數據形式,是集合set還是字典dict還是列表list或者是字符串,只有清楚的知道數據的類型,才能很好的處理和使用數據信息!

當然,我設想後面來爬取每天的天氣信息,通過自己的一些硬件來完成出門前的自動提醒功能,也算是簡單的嵌入式智能家居的設計了~

發佈了50 篇原創文章 · 獲贊 30 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章