python爬虫的2个小demo

学习结果

因为公司最近的一个项目后台是用的python,请了其它公司的人员去做。其它公司的人在python的技术上肯定是强于我。所以上司要求我要尽快掌握python!才能与他们合作!有时间学习的感觉是最好的,今天也写了2个爬虫的demo,一个是通过关键字从网上抓取到相应的图片。另外一个是浏览器自动打开百度,并搜索相应的结果

学习中遇到的困难

因为一些插件的安装教程都比较简单,所以这里就不详细说明了!我只例举我曾经卡住的点
1.通过python爬虫学习file-settings-prject interpreter搜索不到响应的库怎么办?
解决方法:可通过where python 找到python的安装路径,找到路径下的script,在
script路径打开命令窗口通过 pip install 库名安装,重新在pyCharme里面
查找就可以安装了
2.python中datetime这个类比较特殊,文件和类名一样当使用了from datetime import
datetime引用具体到类之后就不要在代码里面写datetime.datetime了。直接引用类
datetime就好

代码

通过关键字下载网上图片:

from bs4 import BeautifulSoup
from datetime import datetime
import re
import json
import os
import time
import requests

keyword = ‘广东深圳’

def getPages(keyword, pages):
params = []
for i in range(3 * pages, 3 * pages + 3):
params.append({
‘tn’: ‘resultjson_com’,
‘ipn’: ‘rj’,
‘ct’: 201326592,
‘is’: ‘’,
‘fp’: ‘result’,
‘queryWord’: keyword,
‘cl’: 2,
‘lm’: -1,
‘ie’: ‘utf-8’,
‘oe’: ‘utf-8’,
‘adpicid’: ‘’,
‘st’: -1,
‘z’: ‘’,
‘ic’: 0,
‘word’: keyword,
‘s’: ‘’,
‘se’: ‘’,
‘tab’: ‘’,
‘width’: ‘’,
‘height’: ‘’,
‘face’: 0,
‘istype’: 2,
‘qc’: ‘’,
‘nc’: 1,
‘fr’: ‘’,
‘pn’: i,
‘rn’: 30,
‘gsm’: ‘1e’,
‘1509347955280’: ‘’
})
url = ‘https://image.baidu.com/search/acjson
urls = []
for i in params:
# 获取全部图片url
urls.append(requests.get(url, params=i).json().get(‘data’))
return urls

def getImg(dataList, localPath):
if not os.path.exists(localPath):
os.mkdir(localPath)
try:
for list in dataList:
for i in list:
if i.get(‘thumbURL’) != None:
print(‘正在下载:%s’ % i.get(‘thumbURL’))
ir = requests.get(i.get(‘thumbURL’))
now = str(time.time())
filepath = localPath + now + “.jpg”
open(filepath, ‘wb’).write(ir.content)
print(‘图片下载完成’)
except Exception as e:
print(“图片下载失败”, e)
for i in range(1, 3):
dataList = getPages(keyword, i)
getImg(dataList, ‘E:/images/’)

自动打开百度并搜索相关东西:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

browser = webdriver.Chrome()
try:
browser.get(‘https://www.baidu.com’)
input = browser.find_element_by_id(‘kw’)
input.send_keys(‘Python’)
input.send_keys(Keys.ENTER)
wait = WebDriverWait(browser, 10)
wait.until(EC.presence_of_element_located((By.ID, ‘content_left’)))
print(browser.current_url)
print(browser.get_cookies())
print(browser.page_source)
except Exception as e:
print(“打开错误!”, e)
finally:
browser.close()

总结

  学习过程真的很有趣,通过某些关键字去抓取图片下载的时候,有时候会比百度搜索到的图片多,
  是否能做个小工具去帮助别人下载东西呢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值