1. 程式人生 > >python爬蟲 如何獲得完整連結(動態網頁)

python爬蟲 如何獲得完整連結(動態網頁)

參考:https://blog.csdn.net/hdu09075340/article/details/74202339


-------------------

參考:https://www.cnblogs.com/hhh5460/p/5044038.html

四中方法

'''
得到當前頁面所有連線
'''

import requests

import re
from bs4 import BeautifulSoup
from lxml import etree
from selenium import webdriver

url = 'http://www.ok226.com'
r = requests.get(url)
r.encoding = 'gb2312'


# 利用 re (太黃太暴力!)
matchs = re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" , r.text)
for link in matchs:
    print(link)
    
print()


# 利用 BeautifulSoup4 (DOM樹)
soup = BeautifulSoup(r.text,'lxml')
for a in soup.find_all('a'):
    link = a['href']
    print(link)
    
print()


# 利用 lxml.etree (XPath)
tree = etree.HTML(r.text)
for link in tree.xpath("//@href"):
    print(link)
    
print()


# 利用selenium(要開瀏覽器!)
driver = webdriver.Firefox()
driver.get(url)
for link in driver.find_elements_by_tag_name("a"):
    print(link.get_attribute("href"))
driver.close()

----------------------------------------------------------

參考:https://blog.csdn.net/xtingjie/article/details/73465522


----------------------------------------------------------

參考:https://blog.csdn.net/linzch3/article/details/72884715

---------------------------------------------------------

參考:https://www.baidu.com/s?wd=python+%E4%B8%8B%E4%B8%80%E9%A1%B5+%E6%8A%93%E5%8F%96&ie=utf-8&tn=02049043_27_pg

----------------------------------------------------------

參考:https://blog.csdn.net/wangxw_lzu/article/details/75092603

>>> import  re, urllib.request
>>>
>>> url = 'http://www.nmc.cn'
>>> html = urllib.request.urlopen(url).read()
>>> html = html.decode('utf-8')     #python3版本中需要加入
>>> links = re.findall('<a target="_blank" href="(.+?)" title',html)
>>> titles = re.findall('<a target="_blank" .+? title="(.+?)">',html)
>>> tags = re.findall('<a target="_blank" .+? title=.+?>(.+?)</a>',html)
>>> for link,title,tag in zip(links,titles,tags):
...     print(tag,url+link,title)
...
沙塵暴預警 http://www.nmc.cn/publish/country/warning/dust.html 中央氣象臺4月5日06時繼續釋出沙塵暴藍色預警
>>>

----------------------------------------------------------------------------------

>>> from bs4 import BeautifulSoup
>>> import urllib.request
>>>
>>> url = 'http://www.nmc.cn'
>>> html = urllib.request.urlopen(url).read()
>>> soup = BeautifulSoup(html,'lxml')
>>> content = soup.select('#alarmtip > ul > li.waring > a')
>>>
>>> for n in content:
...     link = n.get('href')
...     title = n.get('title')
...     tag = n.text
...     print(tag, url + link, title)
...
沙塵暴預警 http://www.nmc.cn/publish/country/warning/dust.html 中央氣象臺4月5日06時繼續釋出沙塵暴藍色預警
>>>


--------------------------------------------------------------------------

生成一個列表:參考https://www.cnblogs.com/xiaxiaoxu/p/7862099.html


-------------------------------------------------------------------------




--------------------------------------------


-------------------------------------------


-------------------------------------------

最終:獲得的所有頁面


效果:


-------------------------------------


-------------------------------------------------------------


----------------------------------------------------------


----------------------------------------------------------

相關推薦

python爬蟲 如何獲得完整連結動態網頁

參考:https://blog.csdn.net/hdu09075340/article/details/74202339-------------------參考:https://www.cnblogs.com/hhh5460/p/5044038.html四中方法''' 得

Python爬蟲——動漫zjmanhua站

目錄 3,注意點 1,使用到的庫 from urllib.parse import urlencode import requests import re import json import execjs from bs4 import Beautif

Python爬蟲包 BeautifulSoup 學習十一 CSS 選擇器

BeautifulSoup支援最常用的CSS選擇器,在 Tag 或 BeautifulSoup 物件的 .select() 方法中傳入字串引數,即可使用CSS選擇器的語法找到tag。 CSS選擇器 CSS選擇器是一種單獨的文件搜尋語法。 詳情請見此連結

python:爬蟲之Post請求以及動態Ajax資料的爬取3

#爬蟲的post方式 作用:對引數進行打包反饋給伺服器 import urllib.request import urllib.parse #對引數打包 url = "http://www.sunck.wang:8085/form" data = { "use

Python selenium爬蟲抓取船舶網站資料動態頁面

很早之前就開始學習爬蟲了,一直想學習爬取動態頁面,正巧工作中需要用到一個船舶資訊的網站,每次都是手動查詢太麻煩了,昨天下午研究了一下午,總算搞透徹了,基本步驟如下: 1、啟動瀏覽器 2、開啟網頁 3、模擬輸入,模擬點選 4、稍等一會(很重要) 5、獲取

[python爬蟲] selenium爬取區域性動態重新整理網站URL始終固定

在爬取網站過程中,通常會遇到區域性動態重新整理情況,當你點選“下一頁”或某一頁時,它的資料就進行重新整理,但其頂部的URL始終不變。這種區域性動態重新整理的網站,怎麼爬取資料呢?某網站資料顯示如下圖所示,當點選“第五頁”之時,其URL始終不變,傳統的網站爬取方法是無法拼接這類

python爬蟲之真實世界中的網頁解析

爬蟲 兩種 del http協議 head 常用 nbsp 是我 返回 Request和Response Request是我們平常瀏覽網頁,向網站所在的服務器發起請求,而服務器收到請求後,返回給我們的回應就是Response,這種行為就稱為HTTP協議,也就是客戶端(瀏覽器

Python爬蟲項目班七月在線

命令行 布隆 apach .net 函數 href 登陸 tel bit 磨刀不誤砍柴工 夯實基礎第1課 環境準備與入門知識點1:環境準備,安裝Virtual Box與Ubuntu系統知識點2:Python以及PyEnv、PIP的安裝配置知識點3: MySQL安裝配置知識點

Python 爬蟲技巧1 | 將爬取網頁中的相對路徑轉換為絕對路徑

1.背景: 在爬取網頁中的過程中,我對目前爬蟲專案後端指令碼中拼接得到絕對路徑的方法很不滿意,今天很無意瞭解到在python3 的 urllib.parse模組對這個問題有著非常完善的解決策略,真的是上天有眼,感動! 2.urllib.parse模組 This module define

Python爬蟲框架Scrapy例項資料儲存到MongoDB

Python爬蟲框架Scrapy例項(三)資料儲存到MongoDB任務目標:爬取豆瓣電影top250,將資料儲存到MongoDB中。 items.py檔案複製程式碼# -*- coding: utf-8 -*-import scrapy class DoubanItem(scrapy.Item): # d

Python爬蟲入門實戰系列--爬取網路小說並存放至txt檔案

執行平臺: Windows  Python版本: Python3.x  一、庫檔案                      

python擷取螢幕特定位置具體class的圖片多用於爬蟲時遇到的驗證碼擷取,再進行反反爬

比如在爬蟲時遇到頁面顯示驗證碼驗證環節,需要先擷取到驗證碼,再識別、輸入驗證碼,完成識別過程。 以爬取zhipin.com 為例。遇到的反爬頁面顯示如下: 擷取思路: 1,用selenium開啟該反爬的頁面,截全屏 2,定位到驗證碼處,截圖儲存即可 程式碼如下: fr

Python爬蟲--2017python師資培訓總結

開心一下,自己總算完整的看完了“2017python師資培訓”視訊,感謝給我視訊的陳老師,但是卻很抱歉,我還是沒有完成你交給我的任務。 還是好好地總結一下吧: 這期間斷斷續續,本計劃一個星期看完的,沒想到後來卻花了這麼多的時間,陳老師交給我的任務,到現在也還沒有完成,雖然吧視訊看完了,實戰內

leetcode的python實現 刷題筆記70:爬樓梯動態規劃

假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。 1. 1 階 + 1

python爬蟲的re庫正則表示式匹配

re庫是python中自帶的一個庫,不需要外部匯入。 它主要是支援正則表示式匹配。 下面來說一下其主要功能函式: 函式 說明 re.search() 在一個字串中搜索匹配正則表示式的第

python 爬蟲 如何用selenium抓取網頁內容

使用selenium爬取動態網頁資訊 Python selenium自動控制瀏覽器對網頁的資料進行抓取,其中包含按鈕點選、跳轉頁面、搜尋框的輸入、頁面的價值資料儲存、mongodb自動id標識等等等。 首先介紹一下 Python selenium —自動化測試工

Leetcode初級演算法 打家劫舍動態規劃Python實現

問題描述: 演算法思想: 該問題的內在邏輯結構依然是動態規劃裡的經典結構。最關鍵的是推出狀態轉移方程,當前規模的對應解法由更低規模的解法,彷彿拾級而上,站在前人的肩膀上不斷攀登。 實際操作起來,比較實用的方法如下:固定一個比較小的規模n, 進行思維實驗。 例子:

python爬蟲中文亂碼問題request方式爬取

req = requests.get(url)返回的是類物件 其包括的屬性有: req.encoding:返回編碼方式 req.text:text返回的是處理過的Unicode型的資料 req.content:content返回的是bytes型的原始資料 conte

Python爬蟲框架Scrapy例項

目標任務:使用Scrapy框架爬取新浪網導航頁所有大類、小類、小類裡的子連結、以及子連結頁面的新聞內容,最後儲存到本地。 大類小類如下圖所示: 點選國內這個小類,進入頁面後效果如下圖(部分截圖): 檢視頁面元素,得到小類裡的子連結如下圖所示: 有子連結

綜合使用python爬蟲技術,selenium模組動態抓取“視覺中國”網站上的圖片的url

一、 匯入模組 import time from selenium import webdriver from lxml import etree 本文章純粹用來練手,於是我使用了etree,其實光使用find_elements…的方法也可以 二、開始幹活 1.