python網絡爬蟲入門(一)

        python網絡爬蟲(一) 2018-02-10  javascript

 


python版本:python 3.7.0b1html

IDE:PyCharm 2016.3.2java

涉及模塊:requests  &  builtwith & whoispython

模塊安裝方法:Win+R 進入cmd, 進入文件夾Scriptsnginx

命令:pip install requests / pip install requests / pip install whois(如不能正確安裝,請留言或自行百度解決)web

如要在PyCharm中使用庫,先添加一下(添加方法)。服務器


話很少說,先上代碼:網絡

1 #coding : utf-8
2 import requests
3 import builtwith    #引入所需python庫
4 print("開始爬取")
5 url = "https://www.wenjiwu.com/doc/uqzlni.html"     #爬取對象網址
6 r = requests.get(url)        #requests模塊get方法
7 print (r.status_code)        #xxx.status_code方法,返回值若爲200,則爬取成功
8 print (r.text)                  #xxx.text方法,獲得URL對應HTML源碼
9 print (builtwith.parse(url)) #builtwith模塊將URL做爲參數,返回該網站使用的技術

(url網址隨意,baidu, imooc...均可以)框架

腳本運行結果:函數

能夠看到,程序正常運行,返回值200,爬取成功,builtwith模塊獲得了示例網站 web-servers: Nginx(服務器類型,詳細瞭解),

使用了jQuery的javascript框架。可是礙於篇幅,其中HTML源碼內容運行時註釋掉了,不要驚訝!!!

 r.text 結果(部分):

(內容無心中傷 Single Dog, Me too  #_# )


 

補充:寫成函數形式

 1 #coding : utf-8
 2 import requests
 3 import whois
 4 import builtwith
 5 
 6 def download(url, x):
 7     print ("downloading...")
 8     ans = requests.get(url)
 9     islink = ans.status_code        # '''通行碼'''
10     user = whois.whois(url)        #'''網站全部者'''
11     pattern = builtwith.parse(url)  #'''網站類型'''
12     result = ans.text               #'''網站內容HTML'''
13     if islink == 200:
14         print ("successfully link!")
15     else:
16         print ("Sorry, it is no found!")
17     if x == 'y':
18         print ('owner: ', user)
19         print ('pattern: ', pattern)
20         print ('text: ', result)
21         return result
22     else:
23         return 000
24 url = "https://www.baidu.com"
25 download(url, 'y')

 補充:把爬取的內容寫入txt文件

1  # 寫入*.txt文件
2 f = open("D:\python3.7\\testf.txt", mode='a', errors='ignore')
3 for x in ans.text:
4      f.write(x)
5 f.close()

文件地址隨意,errors=‘ignore’是爲了防止諸如  ...'\xe7'..., illegal multibyte sequence轉碼問題的出現。


 

轉載請註明出處,歡迎留言討論。

相關文章
相關標籤/搜索