日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬虫源码附注解_Python小白写的三个入门级的爬虫(附代码和注释)

發布時間:2025/3/19 python 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫源码附注解_Python小白写的三个入门级的爬虫(附代码和注释) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python小白寫的三個入門級的爬蟲(附注釋)

寫在前面的話:作者目前正在學習Python,還是一名小白,所以注釋可以會有些不準確的地方,望諒解。

這三個小爬蟲不是很難,而且用處可能也不大,主要還是鍛煉新手對函數的運用與理解

大牛和意義黨可以先繞過了

附:我用的是Pyton2.713,用3.0的朋友運行可能會有些代碼出錯

第一個,網頁源代碼爬蟲;

#-- coding: utf-8 --

#一個巨詳細又簡單的小爬蟲

#---------------------------------

import string

from urllib2 import urlopen #通過from import導入urllib2庫中的urlopen模塊,用于抓取url的內容

url = raw_input('>') #使用raw_input函數讓用戶輸入想要爬取的網頁,并且賦值給變量

x = urlopen('http://'+url) #調用urlopen獲取源碼并賦值給變量 前邊加上http://是怕用戶忘記輸入http協議

print x.read() #最后使用read函數查看并使用print打印出來

用Python自帶的IDLE打開,輸入www.baidu.com ,效果如圖;

第二個,爬取并下載百度貼吧的內容;

#-- coding: utf-8 --

#爬取并下載百度貼吧的html文件

#作者:秦王IPC

#------------------------------------------------

import string #調用模塊

from urllib2 import urlopen #調用urllib2庫中的模塊

#---------------------------------

#定義函數

def paqutieba(url,x,y):

for j in range(x, y+1): #循環從開始頁面到終點頁面

Name = string.zfill(j,5) + '.html' #string.zfill(1,5) 文件名效果00001.

print '正在下載第' + str(j) + '個網頁內容,并將其存儲為' + Name + '......' #下載的時候打印

l = open(Name,'w+') #將寫入操作賦值給變量l

k = urlopen(url + str(j)).read() #調用urlopen模塊抓取網頁內容并查看并賦值給變量k

l.write(k) #將k內容寫入

l.close() #關閉

#---------------------------------與用戶交互---------------

url = str(raw_input(u'請輸入貼吧的地址,去掉?pn=后面的數字:\n格式:https://tieba.baidu.com/p/xxxxxxxxx?pn= \n>>>'))

x = int(raw_input(u'請輸入開始的頁數:\n'))

y = int(raw_input(u'請輸入終點的頁數:\n'))

paqutieba(url,x,y) #調用函數

用Python自帶的IDLE打開,隨意輸入一個貼吧地址 (有些URL沒有 ?pn= 得自己加上去),效果如圖;

第三個,爬取內涵段子并寫入文本(這個對新手來講可能有點難理解和麻煩)

需要用到的工具:谷歌瀏覽器,火狐瀏覽器,和一顆堅持下去的心。

準備工作

1.用谷歌打開內涵段子官網,然后按F12進行抓包,如圖;

初始框在右邊,可以在Dock side那里調到下面,選擇Network,然后點All,如果左上角不是紅點,就點一下(是紅色就不用點)表示瀏覽器正對此頁面進行抓包。

再然后滑到最下面點擊加載更多;

此時查看抓到的內容,找到圖中的文件,并且復制Request URL 的鏈接地址,在火狐瀏覽器中打開,(之所以用火狐是因為火狐自帶轉碼,不然用谷歌打開可能會是亂碼);

在火狐瀏覽器中打開如圖;

然后點開可以發現,段子內容在 data>data>0>group>text路徑下;

還可以發現,不止有0,還有1,2,3,4,5....19,可以猜到這應該是頁數之類的。所以后面可以利用代碼來循環爬取更多的內容;

還需要突破反爬措施,其實很簡單,只需要將Request Headers下的內容復制放進代碼里就行了(不過要記得加''和:分開來,代碼部分有);

代碼部分

'''

Title = 爬取內涵段子寫入進文本

coder = 秦王IPC

date = 2018-01-30

因為使用while循環,所以需要手動停止,不然會一直寫入下去。

'''

import requests #網絡請求模塊

import time #時間模塊,下面要設置訪問間隔時間。如果不設置,服務器可能會認為你是惡意***,就會進行防護措施,如封IP什么的。

import sys

reload(sys)

sys.setdefaultencoding('utf-8')#這三行是轉碼

header = {'Host':'neihanshequ.com',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',

'Accept': 'application/json, text/javascript, */*; q=0.01',

'Accept-Language': 'zh-CN,en-US;q=0.7,en;q=0.3',

'Accept-Encoding': 'gzip, deflate',

'Referer': 'http://neihanshequ.com/',

'X-CSRFToken': 'e9b62faa6a962cdf92f1531b498fc771',

'X-Requested-With': 'XMLHttpRequest',

'Cookie': 'csrftoken=e9b62faa6a962cdf92f1531b498fc771; tt_webid=6486401443292186126; uuid="w:c07f437659474cc1a7cfd052d9985b37"; Hm_lvt_3280fbe8d51d664ffc36594659b91638=1511848146,1512200937,1512371475,1514373568',

'Connection': 'keep-alive',

'Pragma': 'no-cache',

'Cache-Control': 'no-cache'}

#添加網頁的Request Headers信息,偽裝成通過瀏覽器訪問,目的是為了突破反爬措施。

timestamp = 1517361103 #設置并賦值起始時間戳 --下面的while循環是利用時間戳來判斷

while type(timestamp) == int or type(timestamp) == float: #保證時間戳不管是哪種類型的數值都能運行

url = 'http://neihanshequ.com/joke/?is_json=1&app_name=neihanshequ_web&max_time='+str(timestamp) #用F12抓包然后點加載更多獲取原始鏈接

html = requests.get(url,headers=header)#使用get請求url內容,并賦值為html

time.sleep(3) #設置間隔時間

for u in range(len(html.json()['data']['data'])):

#print(len(html.json()['data']['data']))判斷一頁有多少段子,放進for語句中就是有多少循環多少的意思

with open(r'c:\duanzi.txt','a' ) as ipc: #使用with。設置寫入路徑

nr=html.json()['data']['data'][u]['group']['text'] #html.json是文件類型,方括號里面的是內容所在路徑

ipc.write(nr+'\n') #進行寫入操作

timestamp = html.json()['data']['max_time'] #每當循環一次結束后,返回新的時間戳進行下一次循環

#--------------------------可以加可不加---------------------

#print(html.status_code)#返回狀態碼

#print(html.json()['data']['max_time'])#返回時間戳

運行效果;

小白的第一篇博客,有錯誤或是不準確的地方可以在評論區里指出(注意用詞文明),謝謝!

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python爬虫源码附注解_Python小白写的三个入门级的爬虫(附代码和注释)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇xxx| 亚洲乱码一区二区 | 91抖音在线观看 | 成人免费在线电影 | 国产精品98 | 国产亚洲欧美一区二区 | 手机看片日韩 | 黄色草逼视频 | 99国产精品久久久久久久 | 国产成人精品一区二区 | 福利一区三区 | 国产精品久久久久久久久久久久久久久久 | 欧美激情第三页 | 国产做爰xxxⅹ高潮视频12p | 美日韩精品视频 | 国产精品九九视频 | 红桃av| 成人午夜电影网站 | 99精品欧美一区二区蜜桃免费 | 成人看片在线 | 大桥未久av在线 | 5566毛片| 日韩一级黄色大片 | 美女100%视频免费观看 | 97se综合 | 综合久久五月 | 国产av成人一区二区三区高清 | 日本熟妇毛茸茸丰满 | 亚洲午夜久久 | 国产免费黄色大片 | 国产第一页视频 | 色婷婷视频在线 | 精品视频不卡 | 人妻互换一区二区激情偷拍 | 美女高潮网站 | 人妻互换一二三区激情视频 | 婷婷91 | 黄色片网站大全 | 黑人精品欧美一区二区蜜桃 | 亚洲成年人网站在线观看 | 91亚瑟| 毛片视频网 | 日韩欧美一区在线 | 国产成人综合亚洲 | 亚洲高清在线 | 国产日韩欧美精品一区二区 | 人人射人人插 | 色婷婷国产精品久久包臀 | 久草97| 国产人妻精品午夜福利免费 | 久久97人妻无码一区二区三区 | 桃色一区 | 色在线免费视频 | 日韩av高清在线观看 | 香蕉av777xxx色综合一区 | 欧美变态口味重另类在线视频 | 91一区在线 | 欧美乱妇狂野欧美视频 | 51成人精品网站 | 女人被狂躁c到高潮喷水电影 | 亚洲精品国产精品乱码不99 | 久久久精彩视频 | 亚洲国产精品综合久久久 | 国产精品视频一二三 | 色xxxx| 老女人黄色片 | 色网站在线 | 国产第二页 | 国产专区av | 新97超碰 | 一区二区在线免费观看 | 国产精品久久久久久久久久久久久久久久久久 | 国产激情精品一区二区三区 | 激情六月综合 | 人人妻人人爽人人澡人人精品 | 亚洲v日本 | 在线免费观看日韩av | 美女黄色免费网站 | 色多多在线看 | 91麻豆精品国产午夜天堂 | 中文字幕人妻一区二区三区 | 久热精品在线观看 | 亚洲精品aaa | 午夜精产品一区二区在线观看的 | 久久av色 | 香蕉毛片 | 亚洲无码精品免费 | 免费视频99| 欧美理论在线 | 超碰888 | 亚洲午夜精品一区二区 | 啪网站 | 欧美另类xxxx野战 | 国产又粗又长又黄的视频 | 国产毛片欧美毛片久久久 | 欧美爱爱网站 | 黑人干日本少妇 | 欧美日韩精选 | 在线免费看mv的网站入口 |