1. 程式人生 > >通過Python對各個頁面連結的有效爬取

通過Python對各個頁面連結的有效爬取

前面提到過關於某一頁資訊的如何爬取,但是我想爬取在下一頁面的資訊怎麼爬取?

我不能通過開啟下一頁,然後獲取下一頁的網址在通過python爬取吧,這樣就和爬取第一頁沒有什麼區別了。有沒有辦法直接爬取下一頁的連結然後get到你獲取的url在爬取資訊呢?

剛開始我想到用正則表示式來匹配各個頁面的連結地址,但是可能我的idle版本問題或者別的問題(我也沒有解決),總之不能通過。

於是我就想先爬取這一部分所有頁面的所有連結,然後找出你要的頁面連結,所以就用到了列表。

import requests
>>> from bs4 import BeautifulSoup
>>> url ='http://www.zbj.com/appdingzhikaifa/sq10054601k0.html'
>>> res=requests.get(url)
>>> res.encoding='utf-8'
>>> soup = BeautifulSoup(res.text, 'html.parser')
>>> for news in soup.select('.pagination'):
h2=news.select('li')
if len(h2)>0:
a=h2[13].select('a')[0]['href']                           #因為下一頁的符號‘’》‘’對應的連結在存連結的列表裡是第13個。

但是這樣爬取下來後的連結不是有效連結:appdingzhikaifa/sq10054601k49.html

它是以這種形式存在的,我們不能直接在網頁中開啟它,因為它是存在於你首頁連結之下的,我們發現,它差了個‘http://www.zbj.com’這樣我們就可以加上:

base_url='http://www.zbj.com'
>>> url1=base_url+a

然後我要爬取這新一頁的所需要的資訊就很OK了。附上我爬http://www.zbj.com/appdingzhikaifa/sq10054601k0.html這個網站第二頁所有 店家的公司名的完整程式碼:

.
>>> import requests
>>> from bs4 import BeautifulSoup
>>> url ='http://www.zbj.com/appdingzhikaifa/sq10054601k0.html'
>>> res=requests.get(url)
>>> res.encoding='utf-8'
>>> soup = BeautifulSoup(res.text, 'html.parser')
>>> for news in soup.select('.pagination'):
h2=news.select('li')
if len(h2)>0:
a=h2[13].select('a')[0]['href']



>>> base_url='http://www.zbj.com'
>>> url1=base_url+a
>>> import selenium.webdriver as webdriver
>>> driver=webdriver.Chrome()
>>> driver.get(url1)
>>> results = driver.find_elements_by_xpath("//div[@class='witkey-name j-witkey-name']/a")
>>> count =0
>>> res=[]
>>> for result in results:
if result.text not in res:
res.append(result.text)



>>> for r in res:
s=r.encode("gbk")
print s

下面是結果:

百夫資訊科技深圳有限公司
薩孚凱中國
牛星雨互聯
拓研網路傳媒
廣州源眾資訊科技
新鮮線上
北京三才科技有限公司
千翼科技
騰博營銷推廣旗艦店
內圈
聖尊科技
德菁科技
山東千度科技
晟軒科技
天迅達科技
品睿科技
杭州盈軟科技有限公司
小月科技
尚澤網路旗艦店
北京海博遠創
長春市皓燁文化發展有限公...
將軍山科技
人馬網路
商宇軟體
成都喜來達科技
杭州點軟網路科技有限公司
北京明創
雷銘智信
言龍科技
旺合盛世科技
亞樂恆技術科技
尚軟科技
九零後網路科技
上海漢呈資訊科技有限公司
龍投科技
上海優翰資訊科技有限公司
速翔網路
青雲博美
上海派匠網路
瑞之雪網路科技有限公司
通彩網路科技有限公司
南京燃網路科技有限公司
勵承科技-網站建設,微信...
懂企網路

相關推薦

通過Python各個頁面連結有效

前面提到過關於某一頁資訊的如何爬取,但是我想爬取在下一頁面的資訊怎麼爬取? 我不能通過開啟下一頁,然後獲取下一頁的網址在通過python爬取吧,這樣就和爬取第一頁沒有什麼區別了。有沒有辦法直接爬取下一頁的連結然後get到你獲取的url在爬取資訊呢? 剛開始我想到用正則表示式

通過python的urllib.request庫來一只貓

com cat alt cnblogs write amazon 技術分享 color lac 我們實驗的網站很簡單,就是一個關於貓的圖片的網站:http://placekitten.com 代碼如下: import urllib.request respond =

Python 爬蟲筆記(維基百科頁面的深度

*#! /usr/bin/env python #coding=utf-8 import urllib2 from bs4 import BeautifulSoup import re import datetime import random ran

Python 爬蟲實現簡單例子(某個頁面

Python爬蟲最簡單實現 #!/usr/bin/env python #coding=utf-8import  urllibimport urllib2def login():     url = 'https://www.oschina.net/action/user/

python設置代理IP來拉勾網上的職位信息,

chrome https htm input post 進行 work port ota import requests import json import time position = input(‘輸入你要查詢的職位:‘) url = ‘https://www

大神教你如果學習Python爬蟲 如何才能高效地海量數據

Python 爬蟲 分布式 大數據 編程 Python如何才能高效地爬取海量數據我們都知道在互聯網時代,數據才是最重要的,而且如果把數據用用得好的話,會創造很大的價值空間。但是沒有大量的數據,怎麽來創建價值呢?如果是自己的業務每天都能產生大量的數據,那麽數據量的來源問題就解決啦,但是沒有數

Python爬蟲】從html裏中國大學排名

ext 排名 所有 一個 requests 空格 創建 .text request from bs4 import BeautifulSoupimport requestsimport bs4 #bs4.element.Tag時用的上#獲取網頁頁面HTMLdef

python爬蟲-20行代碼王者榮耀所有英雄圖片,小白也輕輕松松

需要 tis tca wcf 爬取 html eas request 有用 1.環境 python3.6 需要用到的庫: re、os、requests 2.簡介 王者榮耀可以算得上是比較受歡迎的手遊之一了,應該有不少的人都入坑過農藥,我們今天的目的就是要爬取王者榮耀的高

Python爬蟲初探 - selenium+beautifulsoup4+chromedriver需要登錄的網頁信息

-- pro tag bug gui 結果 .com 工作 ges 目標 之前的自動答復機器人需要從一個內部網頁上獲取的消息用於回復一些問題,但是沒有對應的查詢api,於是想到了用腳本模擬瀏覽器訪問網站爬取內容返回給用戶。詳細介紹了第一次探索python爬蟲的坑。 準備工作

Python爬蟲實戰專案一】大眾點評團購詳情及團購評論

1 專案簡介 從大眾點評網收集北京市所有美髮、健身類目的團購詳情以及團購評論,儲存為本地txt檔案。 技術:Requests+BeautifulSoup 以美髮為例:http://t.dianping.com/list/beijing?q=美髮 爬取內容包括: 【團購詳情】團購名稱、原

Python爬蟲實習筆記 | Week3 資料和正則再學習

2018/10/29 1.所思所想:雖然自己的考試在即,但工作上不能有半點馬虎,要認真努力,不辜負期望。中午和他們去吃飯,算是吃飯創新吧。下午爬了雞西的網站,還有一些欄位沒爬出來,正則用的不熟悉,此時終於露出端倪,心情不是很好。。明天上午把正則好好看看。 2.工作: [1].哈爾濱:html p

Python爬蟲系列之小說網

今日爬蟲—小說網 再次宣告所有爬蟲僅僅為技術交流,沒有任何惡意,若有侵權請☞私信☚ 此次爬取由主頁爬取到各本小說地址,然後通過這些地址獲取到小說目錄結構,在通過目錄結構獲取章節內容,同時以小說名字為資料夾,每一個章節為txt文字儲存到本地。 話不多說,直接上程式碼

Python 3.5_簡單上手、百度圖片的高清原圖 Python 3.5_簡單上手、百度圖片的高清原圖

Python 3.5_簡單上手、爬取百度圖片的高清原圖 2017年11月10日 15:49:50 閱讀數:1008 利用工作之餘的時間,學習Python差不多也有小一個月的時間了,路漫漫其修遠兮,我依然是隻菜鳥。 感覺

python之爬蟲的入門02------圖片、異常處理

一、爬取一張圖片 import urllib.request req = 'http://placekitten.com/400/400' # url地址 response = urllib.request.urlopen(req) #用檔案形式來開啟url地址對應的HTML頁

python實戰之網路爬蟲(新聞內文資訊)

(1)前期準備:開啟谷歌瀏覽器,進入新浪新聞網國內新聞頁面,點選進入其中一條新聞,開啟開發者工具介面。獲取當前網頁資料,然後使用BeautifulSoup進行剖析,程式碼: import requests from bs4 import BeautifulSoup res = requests.

python實戰之網路爬蟲(網頁新聞資訊列表)

關於大資料時代的資料探勘 (1)為什麼要進行資料探勘:有價值的資料並不在本地儲存,而是分佈在廣大的網路世界,我們需要將網路世界中的有價值資料探勘出來供自己使用 (2)非結構化資料:網路中的資料大多是非結構化資料,如網頁中的資料都沒有固定的格式 (3)非結構化資料的挖掘--ETL:即三個步

python用協程池非同步音樂的json資料

# -*- coding: utf-8 -*- # @Author : Acm import gevent.monkey gevent.monkey.patch_all() from gevent.pool import Pool from Queue import Queue imp

Python:爬蟲例項2:貓眼電影——破解字型反

 字型反爬 字型反爬也就是自定義字型反爬,通過呼叫自定義的字型檔案來渲染網頁中的文字,而網頁中的文字不再是文字,而是相應的字型編碼,通過複製或者簡單的採集是無法採集到編碼後的文字內容的。 現在貌似不少網站都有采用這種反爬機制,我們通過貓眼的實際情況來解釋一下。   下圖的是貓眼網頁

學習了一個月python,進行實戰一下:文章標題和正文並儲存的程式碼

爬取東方財富網文章標題和正文並儲存的程式碼。自己知道寫的很爛,不過主要是為了自己備忘,也為了以後回頭看看自己的爛作品,哈哈哈。 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from bs4 import B

Python爬蟲實戰 requests+beautifulsoup+ajax 半次元Top100的cos美圖

1.Python版本以及庫說明 Python3.7.1 Python版本urlencode 可將字串以URL編碼,用於編碼處理bs4 解析html的利器re 正則表示式,用於查詢頁面的一些特定內容requests 得到網頁html、jpg等資源的