使用python實現簡單爬蟲

2021-08-10 19:09:40 字數 1866 閱讀 3809

因為工作上對於資料的需要,所以這段時間一直在學習python和scrapy框架,下面貼上乙個簡單的python**爬蟲,可能**風格有點low,見諒。

#-*-coding:utf-8-*-

import codecs

import urllib

import urllib2

import re

import json

import time

from lxml import etree

import sys

defaultencoding = 'utf-8'

if sys.getdefaultencoding() != defaultencoding:

reload(sys)

sys.setdefaultencoding(defaultencoding)

rooturl=''

#解析頁面的方法,傳入需要解析的頁碼,返回頁面內容

def posthtmlcontent(pagenum):

#因為頁碼為1時和其他頁碼訪問的頁面鏈結不同,所以新增了乙個簡單的判斷

if pagenum == 1:

rooturl =''

else:

rooturl =''

#頁面需要使用post請求

req = urllib2.request(rooturl.encode('utf8'),urllib.urlencode())

time.sleep(1)

htmlcontent = urllib2.urlopen(req,timeout=5).read()

return htmlcontent

rooturl1 = rooturl[0:rooturl.rfind("/")-4]

print rooturl1

htmlcontent = posthtmlcontent(5)

tree=etree.html(htmlcontent)

wenzhangurls=tree.xpath(u"//ul[

@class

= 'fd-notice-data']/li/a/@href")

#列印出當前頁面每個文章的鏈結

print wenzhangurls

for wenzhangurl in wenzhangurls:

pageurl = rooturl1+wenzhangurl.lstrip()

print "pageurl------->"+pageurl

page = urllib2.urlopen(pageurl,timeout=5).read()

time.sleep(2)

tree=etree.html(page)

title = tree.xpath(u"//h1[@class ='fd-content-title']/text()")

content = tree.xpath(u"//span/text()")

subtime = tree.xpath(u"//p[@class = 'fd-content-subtitle']/text()")

title = ''.join(title).strip()

content = ''.join(content).strip()

subtime = ''.join(subtime).strip()

pt = str(subtime).split()

# print page

#分別列印文章標題,內容,以及時間

print title

print content

print pt[1]

這只是乙個在編寫scrapy爬蟲前的測試**,因為時間有限,後續還將會繼續放上這個的scrapy**。

使用python實現簡單爬蟲

近日學習了python語言,簡單實現了乙個爬蟲,爬取了慕課網課程簡介上的,並儲存到本地。以下是實驗 coding utf 8 spyder editor import re import os import urllib.request 在python3.6環境中實現 f soure urllib....

使用python實現簡單爬蟲

管理待抓取的url集合和已抓取的url,防止重複抓取,防止死迴圈 功能列表1 判斷新新增url是否在容器中 2 向管理器新增新url 3 判斷容器是否為空 4 將已爬取url移動到已爬取集合 5 獲取待爬取url實現方式1 使用set 自動去除重複專案 2 使用關聯式資料庫 mysql 3 使用快取...

Python實現簡單爬蟲

簡單爬蟲構架 時序圖 管理待抓取url集合和已抓取url集合 通過兩個列表 已抓取url列表,未抓取url的列表 防止重複抓取 防止迴圈抓取 request.add header user agent mozilla 5.0 偽裝成火狐瀏覽器 urllib2.install opener opene...