被寫檔案坑了一晚上,因為自己寫了writefile(),但是呼叫的是writefile()剛好python裡面有writefile()所以剛好不報錯!!!!!
#_*_ coding: utf-8 _*_
'''created on 2018 7月12號
@author: sss
型別:get請求
'''from pip._vendor.distlib.compat import raw_input
import urllib
import urllib.parse
import urllib.request
from tokenize import endpats
from fileinput import filename
from _winapi import writefile
from ctypes.wintypes import pint
def loadpage(url, filename):
"""作用:根據url傳送請求,獲取伺服器相應的檔案
url: 需要爬取得url位址
filename: 檔名
"""headers =
request = urllib.request.request(url, headers = headers)
response = urllib.request.urlopen(request )
return response.read()
def writefile(html, filename): #python裡面自帶writefile所以注意自己呼叫的是誰寫的,呼叫自己的是否函式名一致了
"""作用:儲存伺服器響應檔案到本地磁碟檔案
html:伺服器相應檔案
filename: 本地磁碟檔名
"""with open(filename, 'wb+') as f:
f.write(html)
# f = open(filename, 'wb+')
# f.write(html)
# f.close
print('已寫入:' + filename)
def tiebaspider(url, beginpage, endpage):
"""作用:負責處理url,分配每個url去傳送請求
url: 需要處理的第乙個url
beginpage: 爬蟲執行的其實頁面
endpage: 爬蟲執行的截止頁面
"""for page in range(beginpage, endpage + 1):
pn = (page - 1) * 50
filename = '第' + str(page) + '頁.html'
#組合完整的url,並且pn每次增加50
fullurl = url + "&pn=" + str(pn)
print(fullurl)
#呼叫loadpage()傳送請求獲取html頁面
html = loadpage(fullurl, filename)
#將獲得的html頁面寫入本地磁碟檔案
writefile(html, filename)
print('完成!')
if __name__ == "__main__":
kw = raw_input("請輸入需要爬取的貼吧")
#輸入起始頁和終止頁,str轉為int型別
beginpage = int(raw_input('請輸入起始頁'))
endpage = int(raw_input('請輸入終止頁'))
url = ""
key = urllib.parse.urlencode()
#組合後的url示例:kw=lol
url = url + key
tiebaspider(url, beginpage, endpage)
百度貼吧爬蟲
encoding utf 8 import urllib.request import urllib.parse import time import random def load page url 通過url來獲取網頁內容jfa param url 待獲取的頁面 return url對應的網頁內...
爬蟲 百度貼吧相簿
import requests from lxml import etree from fake useragent import useragent import os from selenium import webdriver urls name defget urls input ua us...
百度貼吧爬蟲練習
在互動平台列印貼吧內的的鏈結位址 1 coding utf 823 importre4 import urllib 導入庫56 defgethtml url 7 page urllib.urlopen url 開啟鏈結的頁面 8 html page.read 讀取鏈結的原始碼 正則 13 imgre...