簡單例子展示爬蟲在不同思想下的寫法
1. 普通寫法
from urllib import parse
from urllib import request
name = input(' 選擇您要檢視的主題: ')
start = int(input(' 選擇起始頁: '))
end = int(input(' 選擇結束頁: '))
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko)"
" Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46"
}
base_url = '
for i in range(start, end + 1):
num = (i - 1) * 50
url = base_url + parse.quote(name) + '&ie=utf-8&pn=' + str(num)
req = request.Request(url, headers=headers)
response = request.urlopen(req)
html = response.read().decode('utf-8')
file_name = ' 第 ' + str(i) + ' 頁內容 .html'
with open(file_name, 'w', encoding='utf-8') as file_obj:
print(' 正在爬取第 %d 頁 ' % i)
file_obj.write(html)
2. 函式式寫法
from urllib import parse
from urllib import request
# 獲取資料
def read_url(url):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 "
"(KHTML, like Gecko)"
" Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46"
}
req = request.Request(url, headers=headers)
response = request.urlopen(req)
html = response.read().decode('utf-8')
return html
# 寫入資料
def write_page(file_name, html):
with open(file_name, 'w', encoding='utf-8') as file_obj:
file_obj.write(html)
print(" 寫入成功 ")
# 主函式,其他的都寫入其中
def main():
name = input('外匯跟單gendan5.com 選擇您要檢視的主題: ')
start = int(input(' 選擇起始頁: '))
end = int(input(' 選擇結束頁: '))
base_url = '
for i in range(start, end + 1):
num = (i - 1) * 50
url = base_url + parse.quote(name) + '&ie=utf-8&pn=' + str(num)
file_name = ' 第 ' + str(i) + ' 頁內容 .html'
html = read_url(url)
write_page(file_name, html)
if __name__ == '__main__':
main()
3. 物件導向寫法
from urllib import parse
from urllib import request
class BaiduSpider:
def __init__(self):
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko)"
" Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46"
}
self.base_url = '
def read_page(self, url):
req = request.Request(url, headers=self.headers)
response = request.urlopen(req)
html = response.read().decode('utf-8')
return html
def write_page(self, file_name, html):
with open(file_name, 'w', encoding='utf-8') as file_obj:
file_obj.write(html)
print(" 寫入成功 ")
def main(self):
name = input(' 選擇您要檢視的主題: ')
start = int(input(' 選擇起始頁: '))
end = int(input(' 選擇結束頁: '))
for i in range(start, end + 1):
num = (i - 1) * 50
url = self.base_url + parse.quote(name) + '&ie=utf-8&pn=' + str(num)
file_name = ' 第 ' + str(i) + ' 頁內容 .html'
html = self.read_page(url)
self.write_page(file_name, html)
if __name__ == '__main__':
yes = BaiduSpider()
yes.main()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2769972/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 情況最簡單下的爬蟲案例爬蟲
- 簡單的爬蟲程式爬蟲
- java爬蟲簡單例子——附jsoup的select用法詳解Java爬蟲單例JS
- 教你如何編寫第一個簡單的爬蟲爬蟲
- 使用nodeJS寫一個簡單的小爬蟲NodeJS爬蟲
- 用Python寫一個簡單的微博爬蟲Python爬蟲
- python爬蟲:爬蟲的簡單介紹及requests模組的簡單使用Python爬蟲
- 工程化爬蟲的寫法爬蟲
- 爬蟲學習之一個簡單的網路爬蟲爬蟲
- 使用正則編寫簡單的爬蟲爬取某網站的圖片爬蟲網站
- 簡單的Python爬蟲 就是這麼簡單Python爬蟲
- python爬蟲簡歷專案怎麼寫_爬蟲專案咋寫,爬取什麼樣的資料可以作為專案寫在簡歷上?...Python爬蟲
- python簡單爬蟲(二)Python爬蟲
- java簡單的爬蟲(今日頭條)Java爬蟲
- Python爬蟲學習(5): 簡單的爬取Python爬蟲
- 爬蟲--Scrapy簡易爬蟲爬蟲
- 簡單瞭解python爬蟲Python爬蟲
- Python簡單爬蟲專案Python爬蟲
- 簡單網路爬蟲Ruby版爬蟲
- Python代理IP爬蟲的簡單使用Python爬蟲
- nodeJS做一個簡單的爬蟲NodeJS爬蟲
- 一個簡單的python爬蟲程式Python爬蟲
- 為什麼寫爬蟲用Python語言?原因很簡單!爬蟲Python
- 爬蟲開源專案及其思想爬蟲
- 手把手教你寫帶登入的NodeJS爬蟲+資料展示NodeJS爬蟲
- Beautiful Soup在爬蟲中的基本使用語法爬蟲
- 運用node實現簡單爬蟲爬蟲
- 爬蟲-BeautifulSoup簡單分析和學習爬蟲
- Java學習-簡單爬蟲系統Java爬蟲
- 用PYTHON爬蟲簡單爬取網路小說Python爬蟲
- Laravel 手動搭建簡單的資料爬蟲Laravel爬蟲
- Python爬蟲 --- 2.3 Scrapy 框架的簡單使用Python爬蟲框架
- 一個簡單的爬蟲 頭部構造爬蟲
- 使用requests+BeautifulSoup的簡單爬蟲練習爬蟲
- 一天時間入門python爬蟲,直接寫一個爬蟲案例,分享出來,很簡單Python爬蟲
- 寫了個簡單爬蟲,分析 Boss 直聘自動駕駛崗位爬蟲自動駕駛
- 大規模非同步新聞爬蟲:簡單的百度新聞爬蟲非同步爬蟲
- 提高爬蟲爬取效率的辦法爬蟲