爬取順企網商戶聯絡方式
暑假實習的時候,老闆讓收集北上廣深公司的聯絡方式,最好是email或者手機。鑑於老闆不想花錢,就拜託本菜鳥寫爬蟲,去爬取各色B2B網站企業資訊。
現在的時代,資料就是金錢,各大網站是不可能讓你輕而易舉爬走資料滴,即使這些資料都是開源的。常見的反爬手段包括禁止頻繁訪問,將手機號碼轉換成圖片顯示。有些喪心病狂的網站,反爬工程師每月拿2萬大洋,讓萌新瑟瑟發抖。
順企網是個比較有意思的網站(截圖如下)(從爬蟲角度來說),且聽我細細道來。
1) 解決頻繁訪問
博主嘗試過每傳送一次請求,休息2秒,然而在300-400個請求後被拒絕,爬蟲光榮陣亡。出離憤怒的博主,將出錯的url通過瀏覽器訪問,返回以下介面。
手動點選“點選繼續”這個超連結後,即可跳轉到需要的公司資訊介面,正常訪問(傳送請求)。
由於要獲取的企業數量在萬級,必須要解決這個因頻繁訪問被驗證非機器人的問題。
最直接的思路就是如何讓python模擬瀏覽器點選“點選繼續”並跳轉?
於是博主右鍵檢視原始碼,如下
可能您訪問的有點快了,請... <a href="#"onclick="window.location='/php/banip.php?sid=a57f9e4c0ea4f82548581612573b0e61'">點選繼續</a>
做了個簡單嘗試,將php及後面一串字串貼上至“http://www.11467.com/
這時,再將方才請求的公司url貼上至位址列,即可得到正確展示公司資訊的頁面。
於是乎,用python指令碼實現,得到以下程式碼:
except: #請求過於頻繁,無法得到企業正常資訊頁 print "Crawler detected!" print url newPage = requests.get(r'http://www.11467.com/php/banip.php?sid=a57f9e4c0ea4f82548581612573b0e61') #sid因session而異 print "\n" return
2) 解決圖片式手機號碼
B2B網站為防止商家聯絡方式(特別是手機號碼)被大量爬取,將手機號碼以圖片形式顯示。最直觀的解決方法就是獲取圖片來源的url,下載至本地,再用python中圖片識別的模組去轉換成數字。
博主嘗試過pytesseract(tesseract的python API),並將輸出設定為僅數字,然而識別效果依然差強人意。博主心一橫,差點走上了自己做training data的不歸路。突然,博主發現這些圖片的url與圖片中的手機號碼十分相似!
譬如手機號為13636447122的圖片url為http://simg.11467.com/phone/3133363336343437313232.jpg,手機號中的每個數字在url的數字段都出現過,而且是間隔著一個“3”。看穿之後,事情就好辦很多了。通過下面一段程式碼就可以提取手機號了,媽媽再也不用擔心圖片識別準確率底下了!因為根本就不用下載並識別圖片了。
codeMobile = re.findall('([0-9]+).jpg',mobpicA)[0] #正則表示式獲取圖片來源url的數字部分,mobpicA為圖片url
mobile = ''
for i in range(11):
mobile += codeMobile[2*i + 1]
完全指令碼GitHub連結:https://github.com/chengnn119/contactCrawlers
檔名:Shunqi_SH.py, Shunqi_SH_pages.py
相關推薦
爬取順企網商戶聯絡方式
暑假實習的時候,老闆讓收集北上廣深公司的聯絡方式,最好是email或者手機。鑑於老闆不想花錢,就拜託本菜鳥寫爬蟲,去爬取各色B2B網站企業資訊。 現在的時代,資料就是金錢,各大網站是不可能讓你輕而易舉爬走資料滴,即使這些資料都是開源的。常見的反爬手段包括禁止頻繁訪問,將手機
三個Python爬蟲版本,帶你以各種方式爬取校花網,輕鬆入門爬蟲
爬蟲是什麼? 進群進群:943752371可以獲取Python各類入門學習資料! 這是我的微信公眾號【Python程式設計之家】各位大佬用空可以關注下,每天更新Python學習方法,感謝! 如果我們把網際網路比作一張大的蜘蛛網,資料便是存放
Node.js爬蟲-爬取慕課網課程信息
reac 分享 function apt txt sta eject 賦值 find 第一次學習Node.js爬蟲,所以這時一個簡單的爬蟲,Node.js的好處就是可以並發的執行 這個爬蟲主要就是獲取慕課網的課程信息,並把獲得的信息存儲到一個文件中,其中要用到cheerio
Scrapy爬取慕課網(imooc)所有課程數據並存入MySQL數據庫
start table ise utf-8 action jpg yield star root 爬取目標:使用scrapy爬取所有課程數據,分別為 1.課程名 2.課程簡介 3.課程等級 4.學習人數 並存入MySQL數據庫 (目標網址 http://www.imoo
Python爬蟲之爬取煎蛋網妹子圖
創建目錄 req add 註意 not 相同 esp mpi python3 這篇文章通過簡單的Python爬蟲(未使用框架,僅供娛樂)獲取並下載煎蛋網妹子圖指定頁面或全部圖片,並將圖片下載到磁盤。 首先導入模塊:urllib.request、re、os import
Httpclient爬取優酷網
num 內容 htm clas ets author download auth isod 參考:http://www.cnblogs.com/lchzls/p/6277210.html /httpClient/src/main/java/com/louis/youku
05 爬取華為官網VMALL的手機評論
wid gin lec image json數據包 線程 size 使用 ges 項目地址:copywang/spiders_collection 實現功能 爬取手機界面的所有手機評論列表 存儲到MONGODB 步驟 獲取首頁的手機列表,並獲取各個手機標題和詳情頁的U
我的第一個Scrapy 程序 - 爬取當當網信息
ref http ide ces passwd lds url ext != 前面已經安裝了Scrapy,下面來實現第一個測試程序。 概述 Scrapy是一個爬蟲框架,他的基本流程如下所示(下面截圖來自互聯網) 簡單的說,我們需要寫一個item文件,定義返回的數據結構;寫
4-15 爬取新浪網
xlsx size text num mos das rip bs4 page import requests 3 from bs4 import BeautifulSoup 4 from datetime import datetime 5 import re 6
爬取起點中文網小說介紹信息
OS tex 2.0 user agent lee idp url pri 字數的信息(word)沒有得到缺失 import xlwt import requests from lxml import etree import time all_info_list=[]
scrapy案例:爬取翼蜂網絡新聞列表和詳情頁面
model rap name lB htm nod meta http AR # -*- coding: utf-8 -*- import scrapy from Demo.items import DemoItem class AbcSpider(scrapy.Sp
用Python多線程實現生產者消費者模式爬取鬥圖網的表情圖片
Python什麽是生產者消費者模式 某些模塊負責生產數據,這些數據由其他模塊來負責處理(此處的模塊可能是:函數、線程、進程等)。產生數據的模塊稱為生產者,而處理數據的模塊稱為消費者。在生產者與消費者之間的緩沖區稱之為倉庫。生產者負責往倉庫運輸商品,而消費者負責從倉庫裏取出商品,這就構成了生產者消費者模式。 生
Scrapy爬蟲(5)爬取當當網圖書暢銷榜
The log sdn detail iss 就是 pan 微信公眾號 打開 ??本次將會使用Scrapy來爬取當當網的圖書暢銷榜,其網頁截圖如下: ??我們的爬蟲將會把每本書的排名,書名,作者,出版社,價格以及評論數爬取出來,並保存為csv格式的文件。項目的具體創建就不
ruby 爬蟲爬取拉鉤網職位信息,產生詞雲報告
content 數據持久化 lag works wid spa 代碼 職位 要求 思路:1.獲取拉勾網搜索到職位的頁數 2.調用接口獲取職位id 3.根據職位id訪問頁面,匹配出關鍵字 url訪問采用unirest,由於拉鉤反爬蟲,短時間內頻繁訪問會被
selelinum+PhantomJS 爬取拉鉤網職位
one while 對象 bili exe 5.0 設置 expect money 使用selenium+PhantomJS爬取拉鉤網職位信息,保存在csv文件至本地磁盤 拉鉤網的職位頁面,點擊下一頁,職位信息加載,但是瀏覽器的url的不變,說明數據不是發送get請求得到的
python3爬蟲爬取煎蛋網妹紙圖片
port 商業 技術分享 爬取 其中 lar c函數 base 技術 其實之前實現過這個功能,是使用selenium模擬瀏覽器頁面點擊來完成的,但是效率實際上相對來說較低。本次以解密參數來完成爬取的過程。 首先打開煎蛋網http://jandan.net/ooxx,查看網頁
第三篇 - 爬取豆瓣電影網
zip def str 一個 eva 電影 pycha 系統 瀏覽器 環境:python 3.6 pycharm 模塊:requests,json 1 import requests 2 import json 3 4 #請求頭 5 headers = {
爬蟲----爬取校花網視頻
done orm ref div submit false lex clas gbk import requests import re import time import hashlib def get_page(url): print(‘GE
requests爬取中國天氣網深圳七日天氣
dumps pat txt all resp att .sh asc code 1 # conding=utf-8 2 import json 3 import re 4 import requests 5 6 def get_data(url): 7
利用高德API + Python爬取鏈家網租房資訊 01
看了實驗樓的專案發現五八同城爬取還是有點難度所以轉戰鏈家 實驗程式碼如下 from bs4 import BeautifulSoup from urllib.request import urlopen import csv url = 'https://gz.lia