爬蟲入門體驗

2021-08-20 05:34:52 字數 2714 閱讀 1806

連續做了一周的爬蟲了,但是都是簡單的那種,簡單的總結下,後面有時間在寫個工具。

2.續爬,爬蟲不一的能一次就吧整個**就能爬下來,要設在分析,增加續爬功能是有必要的。

3.爬取過程中遇到的問題。

1)我是使用的bs4進行xml解析的,由於每個節點屬性不完全相同,當統一使用乙個方法訪問節點屬性的時候一定要加try,防止程式意外中斷。

2)在使用python語言的時候,為了安全,要注意函式的返回值,特別是型別判斷。

3)網頁抓取要加try,動態資料型別也盡量加try

4.爬取過程中的關鍵語句

dir_name= '.'

def download_file(url, file_name):

if not os.access(dir_name, os.f_ok):

os.mkdir( dir_name, 0o777 )

file_name=file_name.replace('/','-')

tmp = os.path.join(dir_name, file_name)

if os.access(tmp, os.f_ok):

return

f = urllib.request.urlopen(url)

data = f.read()

with open(tmp, "wb+") as code:

code.write(data)

#偽裝瀏覽器獲取網頁,當時有個**弄不下來,在乙個哥們拿去粘的這個原始碼,我稍稍做了下修改

#直接獲取網頁

def get_html_method2(url):

html = ''

i = 5

while(i):

try:

response = urllib.request.urlopen(url,timeout=3)

html = response.read().decode('utf-8')

return html

except exception as e:

i = i -1

logger.debug('['+str(e)+']'+url)

print ('urlerror: all times is failed ' )

return ''

#網頁解析

html_page = get_html_method2(page_url)

html_soup = bs4.beautifulsoup(html_page, 'lxml')

item_name = html_soup.select('ul[class="list_list font14"]')

table_thead_item = table_item[0].select('thead')

#正規表示式

matchobj = re.search( r'\/uploadfiles\/\d\/\d\/\d\.(\w)$', a_href, re.m|re.i)

#csv的操作

cvs_filename = dir_name+'_table.csv'

if os.access(cvs_filename,os.f_ok):

csvfile = open(cvs_filename, 'a+', newline='')

writer = csv.dictwriter(csvfile, fieldnames=fieldnames)

else:

csvfile = open(cvs_filename, 'a+', newline='')

writer = csv.dictwriter(csvfile, fieldnames=fieldnames)

writer.writeheader()

writer.writerow({fieldnames[0]:list_data[0])

「黑客」入門 爬蟲scrapy初體驗

歡迎關注,敬請點讚!pip install scrapy 需要在專案根目錄下,如d python spider 執行 scrapy startproject 專案名 如 lab d python spider scrapy startproject lab 進入專案內 cd 專案名,d python...

爬蟲利器初體驗

scrapy 資料流 scrapy 元件 爬取豆瓣電影 top250 前言為什麼要學 scrapy 呢?看下圖,就清楚了。很多招聘要求都有 scrapy,主要是因為 scrapy 確實很強。那到底強在 呢?請在文中找答案。scrapy 資料流 首先我們先來學習一下 scrapy 的工作流程。scra...

scrapy之爬蟲初體驗

本篇文章主要將怎樣建立乙個scrapy專案,以及完成第乙個scrapy爬蟲專案。首先是安裝scrapy模組,有很多原因都能導致scrapy模組安裝失敗,網上有很多教程讓怎樣安裝scrapy。親測比較有效的方法使用whl檔案安裝。不過有小夥伴也可以嘗試直接使用pip install scrapy命令進...