使用python requests 框架包访问https://itunes.apple.com 页面是遇到 SSLError: hostname 'itunes.apple.com' doesn't match either of 错误, 但本地开发时没报错,而是在线上报错,python版本是2.7.3,后来gg到是因为版本问题,安装好pyOpenSSL .ndg-httpsclient.pyasn1 即可,发现确实可行. These errors occur when SSL certific…
一.问题背景 基于express框架,node后台fetch请求数据,报错Hostname/IP doesn't match certificate's altnames..... require('isomorphic-fetch'); fetch(url) 二 .两种方式解决. 1.设置rejectUnauthorized:false const https = require("https"); const options = { agent: new https.Agent({…
今天在java爬取天猫的时候因为ssl报错,所以从网上找了一个可以爬取https和http通用的工具类.但是有的时候此工具类爬到的数据不全,此处不得不说python爬虫很厉害. package cn.qlq.craw.Jsoup; import java.io.File; import java.io.FileWriter; import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; imp…
使用selenium模块爬取验证码页面,selenium模块需要另外安装这里不讲环境的配置,我有一篇博客有专门讲ubuntn下安装和配置模拟浏览器的开发 spider的代码 # -*- coding: utf-8 -*- from selenium import webdriver import scrapy from scrapy.selector import Selector from time import sleep class MydoubanSpider(scrapy.Spider…
scrapy爬取二级页面的内容 1.定义数据结构item.py文件 # -*- coding: utf-8 -*- ''' field: item.py ''' # Define here the models for your scraped items # # See documentation in: # https://doc.scrapy.org/en/latest/topics/items.html import scrapy class TupianprojectItem(scra…
Scrapy爬取静态页面 安装Scrapy框架: Scrapy是python下一个非常有用的一个爬虫框架 Pycharm下: 搜索Scrapy库添加进项目即可 终端下: #python2 sudo pip install scrapy #python3 sudo pip3 install scrapy #安装完成测试一下 scrapy version 爬取赶集网租房信息 们通过Chrome查看源代码可以发现所有的内容都是静态的,这种是比较容易爬取的. Chrome下可以安装插件XPath. 终端…
一.爬取百度页面代码写入到文件 代码示例: from urllib.request import urlopen #导入urlopen包 url="http://www.baidu.com" #需要爬取网页的网址 resp=urlopen(url) with open("mybaidu.html",mode="w",encoding="utf-8") as f: #encoding="utf-8"防乱码 f…
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道一名好的前端,要尽可能不使用hack的情况下实现需求,做到较好的用户体验.可是啊,现实太残酷,浏览器厂商之间历史遗留的问题让我们在目标需求下不得不向hack妥协,虽然这只是个别情况.今天,结合自己的经…
什么是phantomjs phantomjs官网是这么说的,'整站测试,屏幕捕获,自动翻页,网络监控',目前比较流行用来爬取复杂的,难以通过api或正则匹配的页面,比如页面是通过异步加载.phantomjs就是一个完整的浏览器只能没有界面,因此我们可以用它来模拟真正的浏览器去访问页面,然后再获取页面.我要说的重点是如何在node中调用phantomjs来获取页面. node与phantomjs通信 命令行传参   只能在phantomjs开启时对其传参,运行过程中无能为力. 标准输出      …
以爬取慕课网数据为例   慕课网的数据很简单,就是通过get方式获取的 连接地址为https://www.imooc.com/course/list?page=2 根据page参数来分页  …
项目的目录结构 核心源码: package cn.edu.zyt.spider; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import cn.edu.zyt.…
先打一个简单的通用框子 //根据爬取网页的协议 引入对应的协议, http||https var http = require('https'); //引入cheerio 简单点讲就是node中的jquery jquery写法获取所得页面dom元素 var cheerio = require('cheerio'); //目标网址 这里是图片网址 var url = ''; //文件读写 var fs = require('fs'); //发送request请求 var request = req…
今天使用python 和selenium爬取动态数据,主要是通过不停的更新页面,实现数据的爬取,要爬取的数据如下图 源代码: #-*-coding:utf-8-*- import time from selenium import webdriver import os import re #引入chromedriver.exe chromedriver = "C:/Users/xuchunlin/AppData/Local/Google/Chrome/Application/chromedri…
spides.py # -*- coding: utf-8 -*- import scrapy from weather.items import WeatherItem from scrapy.crawler import CrawlerProcess import re ''' 多级分类爬取 ''' class IgxSpider(scrapy.Spider): name = 'igx_result' allowed_domains = ['www.igxpt.com'] # start_u…
在写爬取页面a标签下href属性的时候,有这样一个问题,如果a标签下没有href这个属性则会报错,如下: 百度了有师傅用正则匹配的,方法感觉都不怎么好,查了BeautifulSoup的官方文档,发现一个不错的方法,如下图: 官方文档链接:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/ has_attr() 这个方法可以判断某标签是否存在某属性,如果存在则返回 True 解决办法: 为美观使用了匿名函数 soup_a = soup.find_a…
#coding=utf-8 import urllib.request def gethtml(url): page=urllib.request.urlopen(url) html=page.read().decode("utf-8") return html url="........" html = gethtml(url) print(html) 有些网站的页面无法全部爬取(笔记)…
from selenium import webdriver import time _url="http://xxxxxxxx.com" driver = webdriver.PhantomJS() driver.get(_url) time.sleep(5) webdata=driver.page_source #这样就得到了web页面的内容,最好加个延时页面加载需要时间 #下面的就可以对这个页面进行爬取了 . . . . # 最好要记得关闭浏览器 driver.quit() 在这…
mport java.io.IOException;import java.net.MalformedURLException;import com.gargoylesoftware.htmlunit.BrowserVersion;import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxCont…
环境: windows,python3.4 参考链接: https://blog.csdn.net/weixin_36604953/article/details/78156605 代码:(亲测可以运行) import requests from bs4 import BeautifulSoup import re import random import time # 爬虫主函数 def mm(url): # 设置目标url,使用requests创建请求 header = { "User-Ag…
爬取源代码如下: import requests import bs4 from bs4 import BeautifulSoup import re import pandas as pd import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') lilist=[] r=requests.get('https://www.parenting.com/baby-names/bo…
我在上一篇博客中说明了在爬取数据的时候,把数据写入到文件的乱码问题 在这一篇里面我做一个总结: 1.首先应该看一个案例 我把数据写在.py文件中: #coding:utf-8 s = 'hehe测试中文字符'ss = u'hehe测试中文字符'uu = s.decode('utf-8') print s  #输出乱码print uu  #正常print ss  #正常 这里需要对中文数据进行编码,输出正常 2.我们针对爬取回来的数据 在读取页面数据的时候已经对其编码 response.read(…
目前绝大多数的网站的页面都是冬天页面,动态页面中的部分内容是浏览器运行页面中的JavaScript 脚本动态生成的,爬取相对比较困难 先来看一个很简单的动态页面的例子,在浏览器中打开 http://quotes.toscrape.com/js,显示如下: 页面总有十条名人名言,每一条都包含在<div class = "quote">元素中,现在我们在 Scrapy shell中尝试爬取页面中的名人名言: $ scrapy shell http://quotes.toscra…
# !/usr/bin/python # -*-coding:utf-8-*- import urllib from bs4 import BeautifulSoup response = urllib.urlopen("http://www.imau.edu.cn") html = response.read() data = html.decode('utf-8') soup = BeautifulSoup(data) # print soup.findAll('span') fo…
今天想利用Requests库爬取糗事百科站点,写了一个请求,却报错了: 后来参考kinsomy的博客,在cmd中pip install pyopenssl ndg-httpsclient pyasn1 后再重新运行,结果ok…
本文介绍了node.js包管理工具npm安装模块后,无法通过命令行执行命令,提示‘xxx’ 不是内部或外部命令的解决方法,给需要的小伙伴参考下.   一般出现这样的问题原因是npm安装出现了问题,全局模块目录没有被添加到系统环境变量. Windows用户检查下npm的目录是否加入了系统变量PATH中,如果不存在需要手动添加,如下图我们将用户变量中的PATH变量值粘贴到系统变量PATH中,添加之后需要重新启动CMD控制台. nodejs模块全局目录环境变量 npm目录可以使用npm命令去查找:np…
今天在创建新表的时候,遇到该报错:ORA-01659 无法分配超出32(XXX)的MINEXTENTS 解决方法:修改表空间大小. 命令如下: ALTER DATABASE DATAFILE ''D:\e_jxw.dbf' AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED 或 ALTER TABLESPACE e_jxw AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED 如果遇到“ora-32773:不支持对小文件表空间的操作…
今天新装win7,然后在IIS下布署了一个网站,布署完成后运行,提示如下错误:HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 详细的错误信息就是:不 能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"), 或者是通过包含 overrideMode="Deny" 或旧有的allowOverride=&q…
web导出excel数据格式化 原文地址:http://www.cnblogs.com/myaspnet/archive/2011/05/06/2038490.html   当我们把web页面上的数据导成excel形式时,有时候我们的数据需要以特定的格式呈现出来,这时候我们就需要给cell添加一些样式规格信息. 首先,我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application…
最近写我自己的后台开发框架,要弄一个多页面标签功能,之前有试过vue-element-admin的多页面,以为很完美,就按它的思路重新写了一个,但发现还是有问题的. vue-element-admin它用的是在keep-alive组件上使用include属性,绑定$store.state.tagsView.cachedViews,当点击菜单时,往$store.state.tagsView.cachedViews添加页面的name值,在标签卡上点击关闭后就从$store.state.tagsVie…
最近对爬虫很感兴趣,稍微研究了一下,利用HtmlAgilityPack制作了一个十分简单的爬虫,这个简易爬虫只能获取静态页面的Html HtmlAgilityPack简介 HtmlAgilityPack是一个解析速度十分快,并且开源的Html解析工具,并且HtmlAgilityPack支持使用Xpath解析Html,能够帮助我们解析Html文档就像解析Xml文档一样轻松.方便. HtmlAgilityPack官网 HtmlAgilityPack的Github地址 C#安装HtmlAgilityP…