当前位置: 首页 > news >正文

西安网站空间建材企业网站推广方案

西安网站空间,建材企业网站推广方案,广州 四合一网站开发,网站太原wangz建设背景 近期工作中要解决两个问题,一个是数据组需要网爬一些图片数据,另外一个是要批量爬取公司用于文档协同的一个网站上的附件。于是乎,就写了两个脚本去完成任务。 爬虫思路 第一步:向确定的url发送请求,接收服务器…

背景

近期工作中要解决两个问题,一个是数据组需要网爬一些图片数据,另外一个是要批量爬取公司用于文档协同的一个网站上的附件。于是乎,就写了两个脚本去完成任务。

爬虫思路

第一步:向确定的url发送请求,接收服务器的响应信息;如果是需要用户登录的网页,需要手动获取cookie信息放入header中,或者模拟登录自动获取cookie。

第二步:对接收到的信息进行解析,找到需要的标签内容(通常是我们需要的图片或文件的url);

第三步:向目标url发送请求,保存数据到本地。

python在网络爬虫方面提供了一些框架,Scrapy、Pyspider等,由于我们要实现的都是小功能,用一些现成的库即可。

爬取附件

1、发送简单请求用urllib.request.urlopen(url)就可以了,但如果要加入headers则可用urllib.request.Request类构造一个request实例,再调用urlopen发送请求。如要用到cookie:

(如果要实现模拟登录自动获取cookie,可参考爬虫实战学习笔记_2 网络请求urllib模块+设置请求头+Cookie+模拟登陆-CSDN博客)

import urllib.requestheaders = {"Cookie": 'confluence.list.pages.cookie=list-content-tree;.......'}req = urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(req)
2、解析响应体,这里是要找到附件链接的图标,在html中是<a class="filename">的标签元素。用到BeautifulSoup。
from bs4 import BeautifulSouphtml = response.read().decode("utf8")
soup = BeautifulSoup(html, "lxml")
a_list = soup.find_all("a")
for a in a_list:if "class" in a.attrs:if "filename" in a["class"]:filename = a.text.strip()download_url = a['href']print(download_url)           
3、获得文件下载地址后,发送请求,将返回的响应保存到本地即可。这里发请求用的requests库,用urllib.request应该也可以。
import requestsfile = requests.get(download_url, headers=headers)
save_path = './download/'
if not os.path.exists(save_path):os.mkdir(save_path)
save_file = open(os.path.join(save_path, filename), 'wb')
save_file.write(file.content)
save_file.close()
print('save ok')
遗留问题:

上述脚本可针对特定网页进行附件爬取,但多个网页如何先获取到所有网页地址是个棘手的问题。目前只能通过搜寻url规律,发现里面的pageId是9位数字字符,大概确定了范围,进行暴力遍历。

爬取图片

网上关于百度、google爬取关键字图片的开源代码很多,我也是找了一个开源代码进行稍微修改,目前满足实际需要。这里附上代码,供参考。

# -*- coding: UTF-8 -*-"""
import requests
import tqdm
import os
import jsondef configs(search, page, number):url = 'https://image.baidu.com/search/acjson'params = {"tn": "resultjson_com","logid": "11555092689241190059","ipn": "rj","ct": "201326592","is": "","fp": "result","queryWord": search,"cl": "2","lm": "-1","ie": "utf-8","oe": "utf-8","adpicid": "","st": "-1","z": "","ic": "0","hd": "","latest": "","copyright": "","word": search,"s": "","se": "","tab": "","width": "","height": "","face": "0","istype": "2","qc": "","nc": "1","fr": "","expermode": "","force": "","pn": str(60 * page),"rn": number,"gsm": "1e","1617626956685": ""}return url, paramsdef loadpic(number, page, path):while (True):if number == 0:breakurl, params = configs(search, page, number)try:response = requests.get(url, headers=header, params=params).content.decode('utf-8')result = json.loads(response)url_list = []for data in result['data'][:-1]:url_list.append(data['thumbURL'])for i in range(len(url_list)):getImg(url_list[i], 60 * page + i, path)bar.update(1)number -= 1if number == 0:breakpage += 1except Exception as e:print(e)continueprint("\nfinish!")def getImg(url, idx, result_path):img = requests.get(url, headers=header)file = open(result_path + str(idx + 1) + '.jpg', 'wb')file.write(img.content)file.close()if __name__ == '__main__':search = "溜冰" # 爬取的关键词number = 100    #爬取的目标数量result_path = os.path.join(os.getcwd(), search)if not os.path.exists(result_path):os.mkdir(result_path)header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'}bar = tqdm.tqdm(total=number)page = 0loadpic(number, page, result_path)

http://www.khdw.cn/news/45616.html

相关文章:

  • wordpress首页分页函数seo是什么学校
  • 温州建设小学瓯江校区网站企业网站设计论文
  • 网站域名 英文seo网站推广的主要目的包括
  • 北京网站设计我选柚米亚马逊alexa
  • 网站开发调试iis站长统计app最新版本2023
  • 网站建设中网站功能描述书功能做一个微信小程序需要多少钱
  • 动态网站开发实例今天新闻头条最新消息
  • 做网站怎么挣钱赚钱网络营销招聘
  • dart语言做的网站互联网营销培训平台
  • 网站被劫持应该怎么做seo全网优化指南
  • 武清做网站公司网络推广教程
  • 工程建设的信息网站seo网络营销推广公司
  • 网页设计选题免费seo关键词优化服务
  • 兰溪做网站推广普通话奋进新征程
  • 网站建设国家有补贴吗营销技巧和营销方法
  • 广东省医院建设协会网站怎么才能让百度收录网站
  • 花钱也可以哪些网站可以做推广广告站长工具无内鬼放心开车禁止收费
  • 网站开发先前台和后台淘宝网页版
  • 代做单片机毕业设计网站百度小说排行榜2019
  • 王爷是什么官职seo综合查询平台
  • 高速公路建设网站搜索引擎优化的核心是
  • 南京百度seo代理win10优化工具下载
  • 网站如何做熊掌号外贸建站推广哪家好
  • 上海 网站设计网络营销常用工具
  • 代刷网站系统怎么做长春刚刚最新消息今天
  • 企业做网站推广门户网站排行榜
  • 网站文章页图片不显示图片网络营销课程总结
  • 固原网站制作网页制作代码html制作一个网页
  • 如何使用模板做网站新闻发布平台有哪些
  • 做单页网站盈利案例index百度指数