貼吧爬蟲

import requests
import re#根據url獲取網頁html內容
def getHtmlContent(url):page = requests.get(url)return page.texthtml = getHtmlContent('https://tieba.baidu.com/p/4840106397')#以html中使用re模塊解析出所有jpg圖片的url
#百度貼吧html中jpg圖片的url格式:<img...src="xxx.jpg" width=....>
def getJPGs(html):#解析jpg圖片url的正則jpgReg = re.compile(r'<img.*?src="(.*?\.jpg)"')#解析出jpg的url列表jpgs = re.findall(jpgReg,html)return jpgsjpgs = getJPGs(html) 
print(jpgs)html = 'https://tieba.baidu.com/f?ie=utf-8&kw=%E5%9B%BE%E7%89%87&fr=search'#用圖片url下載圖片并保存成制定文件名
def downloadJPG(imgUrl,fileName):#可自動關閉請求和相應的模塊from contextlib import closingwith closing(requests.get(imgUrl,stream=True)) as resp:with open(fileName,'wb') as f:for chunk in resp.iter_content(128):f.write(chunk)#批量下載圖片,默認保存在當前目錄下
def batchDownloadJPGs(imgUrls,path='./'):#用于給圖片命名count =1for url in imgUrls:downloadJPG(url,''.join([path,'{0}.jpg'.format(count)]))print('下載完成第{0}張圖片'.format(count))count =count+1#封裝,從百度貼吧網頁下載圖片
def download(url):html = getHtmlContent(url)jpgs = getJPGs(html)batchDownloadJPGs(jpgs)def main():url = 'http://tieba.baidu.com'download(url)if __name__ =='__main__' :main()

進入爬蟲學習:

首先導包

import requests
import re

?獲取網頁源碼,確定可以獲取,獲得了之后可以操作的整體對象

#根據url獲取網頁html內容
def getHtmlContent(url):page = requests.get(url)return page.texthtml = getHtmlContent('https://tieba.baidu.com/p/4840106397')

?獲取圖片,用到的就是很神奇的正則表達式,本人起初覺得很一般,沒什么不得了,但是用的時候,卻發現大道至簡。

#以html中使用re模塊解析出所有jpg圖片的url
#百度貼吧html中jpg圖片的url格式:<img...src="xxx.jpg" width=....>
def getJPGs(html):#解析jpg圖片url的正則jpgReg = re.compile(r'<img.*?src="(.*?\.jpg)"')#解析出jpg的url列表jpgs = re.findall(jpgReg,html)return jpgsjpgs = getJPGs(html) 
print(jpgs)html = 'https://tieba.baidu.com/f?ie=utf-8&kw=%E5%9B%BE%E7%89%87&fr=search'

?接下來就是獲取圖片,照著跑就行。

#用圖片url下載圖片并保存成制定文件名
def downloadJPG(imgUrl,fileName):#可自動關閉請求和相應的模塊from contextlib import closingwith closing(requests.get(imgUrl,stream=True)) as resp:with open(fileName,'wb') as f:for chunk in resp.iter_content(128):f.write(chunk)#批量下載圖片,默認保存在當前目錄下
def batchDownloadJPGs(imgUrls,path='./'):#用于給圖片命名count =1for url in imgUrls:downloadJPG(url,''.join([path,'{0}.jpg'.format(count)]))print('下載完成第{0}張圖片'.format(count))count =count+1#封裝,從百度貼吧網頁下載圖片
def download(url):html = getHtmlContent(url)jpgs = getJPGs(html)batchDownloadJPGs(jpgs)def main():url = 'http://tieba.baidu.com'download(url)if __name__ =='__main__' :main()

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449857.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449857.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449857.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

別把自己變成了“二等公民”

上周參加一個代碼審查會&#xff0c;在會上發現了設計上的一個很嚴重的錯誤。于是&#xff0c;我提了好幾個問題&#xff0c;想知道為什么會出現這一錯誤。但是&#xff0c;我的同事告訴我這都是印度團隊做的設計。需要提供的一個背景信息是&#xff0c;這個項目是我所在的研發…

jquery函數加載及生成隨機數

$(document).ready(function () {var code ; //在全局定義驗證碼  1.將函數寫好 function createCode(){code "";var codeLength 4;//驗證碼的長度var checkCode document.getElementById("code");var random new Array(0,1,2,3,4,5,6,7,8,9,A,B,C…

rsync解說

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、簡介1、認識Rsync&#xff08;remote synchronize&#xff09;是一個遠程數據同步工具&#xff0c;可通過LAN/WAN快速同步多臺主機間…

關于java中getClass()和getSuperClass()的講解

為了講解這個問題&#xff0c;我們先來看一下下面的代碼: package com.yonyou.test;import java.util.Date;class Test extends Date{private static final long serialVersionUID 1L;public static void main(String[] args) {new Test().print();}public void print(){Syste…

期權回測框架設計思路

期權回測&#xff0c;博主已經研究了很長時間&#xff0c;也接觸了不少平臺&#xff0c;如真格&#xff0c;以及這位博主提供的思路&#xff08;https://blog.csdn.net/luoqingyong/article/details/107523930&#xff09;&#xff0c;利用backtrader進行期權回測。確實國內做期…

UVA815

這道題主要學到的就是數據結構的組織&#xff0c;一些需要從小到大排列的東西&#xff0c;這些東西還有對應的東西。這個時候使用map可以解決 下面貼出代碼。其中所使用的思想&#xff0c;估計這個東西是沒法學的&#xff0c;這就只能是靈感 //這是什么吉爾題&#xff0c;題意都…

我對應聘者的面試原則

最近參與了幾次單位招聘面試工作&#xff0c;在面試工程師時&#xff0c;我是用我的分層準則指導與候選人的交流內容&#xff0c;以確定他的能力層次是否達到我所期望的。大體上軟件工程師可以分為三大層次&#xff0c;分別是技術知識積累層、掌握設計方法層以及運用開發方法論…

rsync:基本命令和用法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 2.1 說在前面的話 rsync官方網站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以實現增量備份的工具。配合任務計劃&#…

Java常見排序算法之堆排序

在學習算法的過程中&#xff0c;我們難免會接觸很多和排序相關的算法。總而言之&#xff0c;對于任何編程人員來說&#xff0c;基本的排序算法是必須要掌握的。 從今天開始&#xff0c;我們將要進行基本的排序算法的講解。Are you ready&#xff1f;Let‘s go~~~ 1、排序算法的…

python量化數據處理小細節2

處理數據主要使用的是DataFrame格式&#xff0c;偶爾也會有list格式。 首先定位尋找數據&#xff1a;主要為loc&#xff0c;iloc 創建DataFrame&#xff1a; df pd.DataFrame([1,2,3,4,5],index [a,b,c,d,e],columns[aa])或 datapd.DataFrame(np.arange(16).reshape(4,4),i…

python編碼問題

參考&#xff1a;https://blog.csdn.net/qq_33692803/article/details/81321340 注意區分系統默認編碼和本地默認編碼、編碼和解碼的區別轉載于:https://www.cnblogs.com/jianglinliu/p/10418437.html

軟件工程師所需掌握的“終極技術”是什么?

最近&#xff0c;我在微博上看到程序員鄒欣老師發的一條微博 — “不少大學同學都有一個想法&#xff1a;先做幾年技術&#xff0c;然后做管理&#xff1b;也有一些同學說&#xff1a;我技術不行&#xff0c;希望直接找到一個管理的工作&#xff0c;就像PM那樣。請看 PM 需要什…

linux中項目部署和日志查看

1 查找進程 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 ps -ef | grep java 查看所有關于java的進程 root 17540 1 0 2009 ? 01:42:27 /usr/java/jdk1.5.0_1…

dspmq dspmqver command not found(dspmq命令找不到,dspmqver主安裝目錄設置不正確

[rootrhv6-64b ~]# su - mqm -bash-4.1$ dspmq -bash: dspmq: command not found&#xff08;dspmq命令找不到&#xff09; -bash-4.1$ dspmqver&#xff08;dspmqver主安裝目錄設置不正確&#xff09; AMQ8594: WebSphere MQ commands are no longer available in /usr/bin. I…

lambda表達式與委托與線程初步談論-基于劉鐵錳視頻觀后操作

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//線程 using System.Threading;//引用線程方法namespace ConsoleApplication2 {class Program{static void Main(string[] args){//委托詳解//Func返回…

2020-11-21

獲取數據后&#xff0c;需要對數據進行合并&#xff0c;通常是日期&#xff0c;也有對相同公司進行合并 下面就研究數據合并的常用方法&#xff1a; 目錄appendmergeon屬性how屬性&#xff08;inner&#xff0c;outer&#xff0c;left &#xff0c; right&#xff09;indicato…

走技術線,還是技術管理線?

最近因為要給剛畢業的學生做一次演講&#xff0c;所以就職業發展這類話題先以寫博客的形式做一些思考&#xff0c;希望屆時能給同學們帶來質量更高的內容。我在《駕馭你的“職場布朗運動”》一文中談了25條職場感悟并提出了“走技術線&#xff0c;還是技術管理線&#xff1f;”…

[Nikon D80]櫻花盛開的校園

花開花落&#xff0c;陽春三月&#xff0c;隨身背著相機在學校里游走&#xff0c;不斷的尋找視角。知道自己拍的不好&#xff0c;總覺得自己拍的片有各式各樣的缺陷&#xff0c;也許這就是大師與學徒的區別吧。用好手頭的裝備&#xff0c;出好片&#xff0c;鍛煉Visual Effect …

「LG2664 樹上游戲」

題目 這真是一道神仙的一批的題目 定義\(s(i,j)\)表示從點\(i\)到點\(j\)經過的顏色數量 設 \[sum_i\sum_{j1}^ns(i,j)\] 求出所有的\(sum_i\) 考慮點分治 對于一個點我們用兩種方式來統計其答案 這個點作為分治重心時&#xff0c;分值區域內所有點到這個點貢獻這個點不是分治重…

DUBBO 使用問題記錄

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 官方ISSUE參考 https://github.com/alibaba/dubbo/issues 注冊中心ZookeeperRegistry.doSaveProperties warn 2014-10-1419:56:51WARN …