基於Python的爬蟲實戰

2021-10-03 23:32:09 字數 1926 閱讀 4870

方法

一、使用bs4包

1.獲取酷狗**內容

#coding=utf-8

import requests,urllib

from bs4 import beautifulsoup

import os

result=urllib.request.urlopen("") 

2.根據html結構獲取目標標籤內容

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

for i in soup.find_all("div"):

if i.get("id")=="songtabcontent":

s=i.find_all("li")

方法二、使用scrapy框架

1)建立目錄

scrapy startproject test

(2)cd test下執行

scrapy genspider newsong www.kugou.com

(3)setting.py檔案中下面三行去掉注釋

item_pipelines =

(4)編寫items.py檔案

import scrapy

(5)newsong.py檔案

import scrapy

from groad.items import groaditem

class newsongspider(scrapy.spider):

name = 'newsong'

allowed_domains = ['www.kugou.com']

start_urls = ['/']

def parse(self, response):

item=groaditem()

for i in range(1,len(response.xpath('//*[@id="songtabcontent"]/ul'))+1):

for j in range(1,len(response.xpath('//*[@id="songtabcontent"]/ul[%s]/li' % i))+1):

item['songname']=response.xpath('//*[@id="songtabcontent"]/ul[%s]/li[%s]/a/span[1]/text()' % (i,j)).extract()[0] 

item['songtime'] = \

response.xpath('//*[@id="songtabcontent"]/ul[%s]/li[%s]/a/span[@class="songtime"]/text()' % (i, j)).extract()[0]

item['href_song'] = \

response.xpath('//*[@id="songtabcontent"]/ul[%s]/li[%s]/a/@href' % (i, j)).extract()[0]

yield item   

(6)pipelines.py檔案,儲存item資料

import json

class groadpipeline(object):

def __init__(self):

self.filename = open("e://downloads", "w",encoding="utf-8")

def process_item(self, item, spider):

text = json.dumps(dict(item),ensure_ascii=false)+'\n'

self.filename.write(text)

return item

def close_spider(self, spider):

self.filename.close()

(7)執行

scrapy crawl newsong

python爬蟲實戰

python python基礎 python快速教程 python學習路線圖 python大資料學習之路 python爬蟲實戰 python pandas技巧系 量化小講堂 python機器學習入門資料梳理 學習群 大資料 python資料探勘2 323876621 r r語言知識體系 怎樣學習r ...

基於python的爬蟲

本次初學,參考的資料見 功能主要是抓取韓寒的部落格內容,以及儲存 到 hanhan的資料夾中,執行環境實在linux下的。見 具體 如何 usr bin env python coding utf 8 import urllib import time url 60 con urllib.urlop...

Python爬蟲實戰(二)

實驗介紹 本實驗通過使用beautifulsoup方法對網頁進行簡單的爬取工作,並對beatifulsoup方法進行簡單的介紹。beautifulsoup開發手冊 示例網頁如下 實驗內容 從本地網頁爬取商品資訊,商品名,評分等級等相關資訊 實驗 from bs4 import beautifulso...