您好,登錄后才能下訂單哦!
本篇內容主要講解“如何使用selenium爬取表情包”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用selenium爬取表情包”吧!
https://www.doutula.com/photo/list/?page=1
不過這個網站直接requests請求不到內容,應該也是js加載的。所以最簡單的辦法就是使用selenium,萬能!
該網站的結構
如果是gif,會多出一個img標簽
根據此來寫出xpath,拿出圖片的地址,使用urllib進行下載
下載完成后保存。然后在通過wxpy庫,發送給好友或者群。
具體代碼
使用selenium獲取表情包,并保存到文件中。注意保存的時候文件名最好是英文或者數字,否則當你使用wxpy庫模擬發送的時候,會直接報錯。
def get_doutu():
browser = webdriver.Chrome()
# img_url_dic = {}
for i in range(1, 2):
browser.get('https://www.doutula.com/photo/list/?page=%s' % str(i))
time.sleep(4)
eles = browser.find_elements_by_xpath('//div[@class="container_"]/div[@id="pic-detail"]/div[@class="row"]/div[@class="col-sm-9"]/div[@class="random_picture"]/ul[@class="list-group"]/li[@class="list-group-item"]/div[@class="page-content text-center"]/div/a[@class="col-xs-6 col-sm-3"]/img[@data-original]')
# names = browser.find_elements_by_xpath('//div[@class="container_"]/div[@id="pic-detail"]/div[@class="row"]/div[@class="col-sm-9"]/div[@class="random_picture"]/ul[@class="list-group"]/li[@class="list-group-item"]/div[@class="page-content text-center"]/div/a[@class="col-xs-6 col-sm-3"]/img[@data-original]')
for j in range(len(eles)):
url = eles[j].get_attribute('data-original')
url = url.split('!')[0]
ext = url.split('.')[-1]
name = random.randrange(1, 10000, 2)
filename = str(name) + '.' + ext
# 保存圖片數據
data = urllib.request.urlopen(url).read()
f = open('image/' + filename, 'wb')
f.write(data)
f.close()
time.sleep(5)
browser.close()
browser.quit()
獲取文件列表,打印是為了充數,將文件的地址拼接好,發送給send_news(),由它進行發送。
def listdir(file_dir):
for root, dirs, files in os.walk(file_dir):
print(root) # 當前目錄路徑
print(dirs) # 當前路徑下所有子目錄
print(files) # 當前路徑下所有非目錄子文件
print(type(files))
for i in files:
send_news(file_dir + i)
time.sleep(10)
到入wxpy包,登錄微信并發送
def login_wechat():
global bot
bot = Bot()
# bot = Bot(console_qr=2,cache_path="botoo.pkl")#linux環境上使用
def send_news(data):
if bot == None:
login_wechat()
try:
my_group = bot.groups().search(u'逗比四人行')[0]
time.sleep(20)
print(data)
my_group.send_image(data)
except Exception as e:
print(u"失敗!!", e)
最好設置間隔時間。小心被清理。
到此,相信大家對“如何使用selenium爬取表情包”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。