**太多,有近100行**,還有複雜的正規表示式。
光是構造正規表示式就已經讓人抓狂了。
1.不用構造複雜的正規表示式。
2.爬取效率更高。
3.**邏輯更優更簡潔。
[email protected]:cuanboy/scrapytest.git
本文參考了以下資料
urllib2庫的基本使用
傳智播客黑馬社群
scrapy菜鳥教程
"""語言版本:
python:3.7
scrapy:1.6
功能:不使用正規表示式,改用scrapy爬取段子.
"""import scrapy
class duanzispider(scrapy.spider):
name = "duanspider"
allowed_domains = ["duanziwang.com"]
start_urls = ['經典段子/']
def parse(self, response):
duanzi_list = response.css('article') # 提取首頁所有笑話,儲存至變數duanzi_list
for viv in duanzi_list: # 迴圈獲取每一條笑話裡面的:標題、內容
title = viv.css('.post-title a::text').extract_first() # 提取笑話標題
contents = viv.css('.post-content p::text').extract() # 提取笑話內容
text = ''.join(contents)
# text = text.encode('utf-8','ignore')
# text = text.encode('gb2312','ignore')
"""接下來進行寫檔案操作,儲存在乙個txt文件裡面
"""f = open(file_name, "a+", encoding='utf-8') # 「a+」以追加的形式
f.write('\n') # 『\n』 表示換行
f.write(str(text))
f.write('\n-------\n')
f.close()
# print("!!!!!!the page is:" + str(next_page))
"""相對路徑如:/page/1
urljoin能把相對路徑替我們轉換為絕對路徑,也就是加上檔案開頭設定的網域名稱
最終next_page為:http://host/page/2/
網路段子爬蟲程式
本文參考了以下資料 urllib2庫的基本使用 傳智播客黑馬社群 urllib2庫的基本使用 所謂網頁抓取,就是把url位址中指定的網路資源從網路流中讀取出來,儲存到本地。在python中,我們使用urllib2這個元件來抓取網頁。urllib2 官方文件 urllib2 原始碼 時間花在學習正規表...
爬蟲 內涵段子
import urllib2 import urllib import re class spilder def init self self.page 1 初始頁是1 self.switch true 如果是true就開始爬 def loadpage self url str self.page ...
6 內涵段子 爬蟲
內涵段子爬蟲實戰 要求 能爬取一頁資料即可 proxyhandler處理器 設定 很多 會檢測某一段時間某個ip的訪問次數 通過流量統計,系統日誌等 如果訪問次數多的不像正常人的訪問,它會禁止這個ip的訪問。所以我們可以設定一些 伺服器,每隔一段時間換乙個 就算ip被禁止,依然可以換個ip繼續爬取。...