python爬網頁存入本地檔案

2021-07-31 04:34:51 字數 1364 閱讀 8794

自己寫的小**,對齊上還需要改進

import requests

import os

from bs4 import beautifulsoup

import bs4

defgethtmltext

(url):

try:

kv =

r = requests.get(url,headers = kv)

r.raise_for_status()

return r.text

except:

return

""def

fillunivlist

(ulist,html):

soup = beautifulsoup(html,'html.parser')

for tr in soup.find('tbody').children:

if isinstance(tr,bs4.element.tag):

tds = tr('td')

defprintunivlist

(ulist,num):

path = '路徑,你懂得'

try:

if os.path.exists(path):

with open(path,'wb') as f:

temp = '\t\t'.format('排名','學校名稱','總分',chr(12288))+"\r\n"

f.write(temp.encode('utf-8'))

for i in range(num):

u = ulist[i]

temp = '\t\t'.format(u[0],u[1],u[2],chr(12288))+"\r\n"

f.write(temp.encode('utf-8'))

f.close()

print('done')

else:

print('exited')

except:

print('failed')

uinfo =

url = ""

html = gethtmltext(url)

fillunivlist(uinfo,html)

printunivlist(uinfo,20)

值得注意的有兩點,寫入檔案時decode,以及換行時」\r\n」

in python 3, bytes strings and unicode strings are now two different types.

python3中對bytes strings和unicode strings區別對待,因此注意解碼

另外換行不能用\n,而是\r\n

python 爬蟲存入本地

一,open函式 開啟本地檔案的方法 with open path r as f f.write data path是檔案的路徑,r是read讀取,w就write寫入,f是操作這個連線的物件 二,操作字串的方法 替代用的format,乙個字串str裡面加上 然後用.format new str 把n...

python爬網頁亂碼

最近搞爬蟲網頁經常亂碼,查了很多終於整出來了。關於解碼編碼decode和encode 首先要搞清楚,字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 enco...

Python 爬取網頁

先謝郭嘉 以鏈家二手房為例 1.爬取網頁所必須的庫 import urllib.request import ssl 2.獲取預爬網頁資訊 1 網頁url 3.下面就可以爬取網頁了 以鏈家二手房為例 1.爬取網頁所必須的庫 import urllib.request import ssl 2.獲取預...