爬虫为什么只能爬到一部分内容?

python爬虫爬取猫眼电影Top100,每一页有10个电影,但是爬虫只能爬取第一个,后面都爬不到不止是为什么
代码如下,大神帮忙看看,感激不尽
import requests
from requests.exceptions import RequestException
import re
def get_one_page(url):
try:
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'}
response=requests.get(url,headers=headers)
if response.status_code==200:
return response.text
return None
except RequestException:
return None

def parse_one_page(html):
pattern=re.compile('

.*?board-index-1">(\d+).*?data-src="(.*?)".*?/>.*?name">(.*?)'+
'.*?star">(.*?).*?releasetime">(.*?).*?integer">(.*?).*?fraction">(.*?).*?
',re.S)
items=re.findall(pattern,html)
print(items)

def main():
url='http://maoyan.com/board/4?'
html=get_one_page(url)
parse_one_page(html)

if name=='__main__':
main()

结果显示
C:\Users\Administrator\python37\python.exe C:/Users/Administrator/PycharmProjects/Maoyantop100/spder.py
[('1', 'https://p1.meituan.net/movie/20803f59291c47e1e116c11963ce019e68711.jpg@160w_220h_1e_1c', '霸王别姬', '\n 主演:张国荣,张丰毅,巩俐\n ', '上映时间:1993-01-01', '9.', '5')]

Process finished with exit code 0

1个回答

可能是ajax异步加载的,建议你用f12抓包看下,加载更多的数据是请求的什么地址,什么参数,程序照着模仿

aishuijiaodemao
练不出腹肌不改头像 挺奇怪的,我编辑完格式以后,又都显示了,老哥知道这是怎么回事吗
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python 爬虫为什么只爬取到一个html页中的部分内容。
在用Python中urlopen和read直接获取到一个网页的HTML,为什么内容与通过浏览器的 查看网页源码的方式显示内容不一样呢,获取到的HTML只有原HTML部分内容。
求助大神,爬虫爬取京东评论数据爬一小部分(大概100条评论)就爬不到评论了,返回空值了
python 爬取评论数据,爬到一百多条评论,就返回空值了,无法继续爬下去了
采用java爬虫或phantomjs一部分百度网盘访问不了
本人小白,最近我在写一个爬虫遇到了一个问题,访问百度网盘的时候短链接地址无法访问,比如http://yun.baidu.com/s/1i4Pa7rv, 但后来我又尝试访问了几个长连接的地址都可以获取到网页源代码,我用phantomjs来访问也是如此,请问这种情况有没有人遇到,求大神指点 phantomjs代码如下: ``` var page = require('webpage').create(); page.settings.userAgent = 'Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)'; phantom.outputEncoding="gbk"; page.open('https://yun.baidu.com/s/1i4Pa7rv', function (status) { if (status == 'success') { console.log(page.title); } else { console.log('cannot open page'); } phantom.exit(); }); ``` 运行结果如下: ![图片说明](https://img-ask.csdn.net/upload/201705/18/1495114539_39340.png)
爬虫(python):为什么验证码总是验证失败(内有描述)?
#这是一个试图模拟12306登陆的程序,只到验证码部分 import urllib.request as U import urllib.parse as P import http.cookiejar as C import ssl import chardet as cd ssl._create_default_https_context = ssl._create_unverified_context #无视证书的有效性 opener = U.build_opener(U.HTTPCookieProcessor(C.CookieJar())) U.install_opener(opener) #创建一个访问者(具有cookie功能) req = U.Request("https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand&1581337391968&callback=jQuery19109972447551572461_1581326959299&_=1581326959322") req.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362" res = opener.open(req) #申请验证码 url = "data:image/jpg;base64," + res.read().decode("utf-8").split('({"image":"')[1].split('","result_message"')[0] #12306分为申请验证码和生成两部分,这是根据两部分的URL规律,生成的验证码图片的URL req = U.Request(url) req.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362" res = opener.open(req) code_img = res.read() with open("D:\\py\\测试_练习综合体\\py练习\\imagecode12306.png","wb") as f: f.write(code_img) #获取验证码 pass_code = input("请输入验证码(坐标):") #根据图片获取验证码坐标 data = {"callback":"jQuery19109972447551572461_1581326959299","answer":pass_code,"rand":"sjrand","login_site":"E","_":"1581326959323"} data = P.urlencode(data).encode("utf-8") req = U.Request("https://kyfw.12306.cn/passport/captcha/captcha-check?callback=jQuery19109972447551572461_1581326959299&answer=188%2C49%2C30%2C39&rand=sjrand&login_site=E&_=1581326959323") req.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362" res = opener.open(req,data = data) html = res.read().decode("utf-8") #验证码验证 #疑问:为什么验证码验证总是失败了(通过html获得结果)
php爬虫问题(目标网站刷新太慢,导致抓取不到)
由于应用限制,只能用php做接口。 功能:爬取目标网站的图片然后并下载到本地 问题:目标网站由于要js动态渲染页面,但是刷新的速度太慢导致php爬虫爬取不到图片。 目标网站截图:![图片说明](https://img-ask.csdn.net/upload/202001/10/1578666920_85770.png) PHP代码: ``` <?php class download_image{ //抓取图片的保存地址 public $save_path; //抓取图片的大小限制(单位:字节) 只抓比size比这个限制大的图片 public $img_size=0; //定义一个静态数组,用于记录曾经抓取过的的超链接地址,避免重复抓取 public static $a_url_arr=array(); /** * @param String $save_path 抓取图片的保存地址 * @param Int $img_size */ public function __construct($save_path,$img_size){ $this->save_path=$save_path; $this->img_size=$img_size; if(!file_exists($save_path)){ mkdir($save_path,0775); } } /** * 递归下载抓取首页及其子页面图片的方法 ( recursive 递归) * @param String $capture_url 用于抓取图片的网址 */ public function recursive_download_images($capture_url){ if (!in_array($capture_url,self::$a_url_arr)){ //没抓取过 self::$a_url_arr[]=$capture_url; //计入静态数组 } else { //抓取过,直接退出函数 return; } $this->download_current_page_images($capture_url); //下载当前页面的所有图片 //用@屏蔽掉因为抓取地址无法读取导致的warning错误 $content=@file_get_contents($capture_url); //匹配a标签href属性中?之前部分的正则 $a_pattern = "|<a[^>]+href=['\" ]?([^ '\"?]+)['\" >]|U"; preg_match_all($a_pattern, $content, $a_out, PREG_SET_ORDER); $tmp_arr=array(); //定义一个数组,用于存放当前循环下抓取图片的超链接地址 foreach ($a_out as $k => $v) { /** * 去除超链接中的 空'','#','/'和重复值 * 1: 超链接地址的值 不能等于当前抓取页面的url, 否则会陷入死循环 * 2: 超链接为''或'#','/'也是本页面,这样也会陷入死循环, * 3: 有时一个超连接地址在一个网页中会重复出现多次,如果不去除,会对一个子页面进行重复下载) */ if ( $v[1] && !in_array($v[1],self::$a_url_arr) &&!in_array($v[1],array('#','/',$capture_url) ) ) { $tmp_arr[]=$v[1]; } } foreach ($tmp_arr as $k => $v){ //超链接路径地址 if ( strpos($v, 'http://')!==false ){ //如果url包含http://,可以直接访问 $a_url = $v; }else{ //否则证明是相对地址, 需要重新拼凑超链接的访问地址 $domain_url = substr($capture_url, 0,strpos($capture_url, '/',8)+1); $a_url=$domain_url.$v; } $this->recursive_download_images($a_url); } } /** * 下载当前网页下的所有图片 * @param String $capture_url 用于抓取图片的网页地址 * @return Array 当前网页上所有图片img标签url地址的一个数组 */ public function download_current_page_images($capture_url){ $content=@file_get_contents($capture_url); //屏蔽warning错误 //匹配img标签src属性中?之前部分的正则 $img_pattern = "|<img[^>]+src=['\" ]?([^ '\"?]+)['\" >]|U"; preg_match_all($img_pattern, $content, $img_out, PREG_SET_ORDER); $photo_num = count($img_out); //匹配到的图片数量 echo $capture_url . "共找到 " . $photo_num . " 张图片\n"; foreach ($img_out as $k => $v){ $this->save_one_img($capture_url,$v[1]); } } /** * 保存单个图片的方法 * @param String $capture_url 用于抓取图片的网页地址 * @param String $img_url 需要保存的图片的url */ public function save_one_img($capture_url,$img_url){ //图片路径地址 if ( strpos($img_url, 'http://')!==false ){ // $img_url = $img_url; }else{ $domain_url = substr($capture_url, 0,strpos($capture_url, '/',8)+1); $img_url=$domain_url.$img_url; } $pathinfo = pathinfo($img_url); //获取图片路径信息 $pic_name=$pathinfo['basename']; //获取图片的名字 if (file_exists($this->save_path.$pic_name)){ //如果图片存在,证明已经被抓取过,退出函数 echo $img_url.'该图片已经抓取过!'."\n"; return; } //将图片内容读入一个字符串 $img_data = @file_get_contents($img_url); //屏蔽掉因为图片地址无法读取导致的warning错误 if ( strlen($img_data) > $this->img_size ){ //下载size比限制大的图片 $img_size = file_put_contents($this->save_path . $pic_name, $img_data); if ($img_size){ echo $img_url.'图片保存成功!'."\n"; } else { echo $img_url.'图片保存失败!'."\n"; } } else { echo $img_url.'图片读取失败!'."\n"; } } } set_time_limit(120); //设置脚本的最大执行时间 根据情况设置 $download_img=new download_image('imgages/',0); //实例化下载图片对象 //$download_img->recursive_download_images('http://www.oschina.net/'); //递归抓取图片方法 //$download_img->download_current_page_images($_POST['capture_url']); //只抓取当前页面图片方法 $download_img->download_current_page_images('http://127.0.0.1:808/yoyo/word/php/1.html'); //只抓取当前页面图片方法 ?> ```
爬虫到的职位信息分类问题
现在遇到了一个问题需要大家帮忙分析一下。 ## 背景介绍: 现在想完成一个利用爬虫获取职位信息,并进行汇总统计查询的应用。 并且爬虫部分没什么大问题了。已经能获取并存入数据库了。 现在的测试都是用智联招聘测试的。 ## 问题描述: 如果现在想完成一个分类搜索的功能。 比如点击某个职位,就会搜索这个职位的信息这样的功能。 我该如何获取到一条条数据的职位分类呢? 爬取到的HTML上没有相关的分类信息。 这是爬取的HTML中关于一条职位的信息内容: ``` <table cellpadding="0" cellspacing="0" width="853" class="newlist"> <tbody> <tr> <td class="zwmc" style="width: 250px;"> <input type="checkbox" name="vacancyid" value="CC265613219J90250003000_538_1_03_201__1_" onclick="zlapply.uncheckAll('allvacancyid')"> <div style="width: 224px;*width: 218px; _width:200px; float: left"> <a style="font-weight: bold" par="ssidkey=y&amp;ss=201&amp;ff=03" href="http://jobs.zhaopin.com/265613219250003.htm" target="_blank">半导体FAE测试工程师</a> </div> </td> <td style="width: 60px;" class="fk_lv"><span></span></td> <td class="gsmc"><a href="http://company.zhaopin.com/%E4%B8%AD%E8%8C%82%E7%94%B5%E5%AD%90%28%E4%B8%8A%E6%B5%B7%29%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8_CC265613219.htm" target="_blank">中茂电子(上海)有限公司</a></td> <td class="zwyx">面议</td> <td class="gzdd">上海 - 徐汇区</td> <td class="gxsj"><span>04-18</span><a class="newlist_list_xlbtn" href="javascript:;"></a></td> </tr> <tr style="display: none" class="newlist_tr_detail"> <td width="833px" style="line-height: 0;" colspan="6"> <div class="newlist_detail"> <div class="clearfix"> <ul> <li class="newlist_deatil_two"><span>地点:上海 - 徐汇区</span><span>公司性质:外商独资</span><span>公司规模:20-99人</span><span>学历:本科</span></li> <li class="newlist_deatil_last"> 要求: 1. 电子工程类相关专业本科学历,半导体及集成电路相关专业为佳(大学课程须有数字电路及模拟电路课程)。 2. 掌握C,C++编程语言,能够编写及调试程序;有windows系统相关工具使用经验(word,excel ,ppt),对windows系统能 熟练使用。 3. 有一定的英语阅...</li> </ul> <dl> <dt> <a href="javascript:void(0)" onclick="return zlapply.searchjob.ajaxApplyBrig1('CC265613219J90250003000_538','ssi','_1_03_201__2_')"> <img src="/assets/images/newlist_sqimg_03.jpg"> </a> </dt> <dd> <a href="javascript:zlapply.searchjob.saveOne('CC265613219J90250003000_538')"><img src="/assets/images/newlist_scimg_06.jpg"></a> </dd> </dl> </div> </div> </td> </tr> </tbody> </table> ``` 而且这样关于分类的各种功能都不是很好做,按照工作分类啊,按照城市信息啊之类的。 还望大神们帮帮忙,帮我想出一个比较可行的分类查询的方案。 谢谢了!
Android爬虫遇到了权限问题怎么办?
Android爬虫报错信息 java.lang.SecurityException: Permission denied (missing INTERNET permission?) 网上搜是权限问题,然后我在配置文件里添加了允许访问网络的权限配置。但问题依旧,求解 下面贴出我写的代码部分: 为了一个文本添加点击事件,点一下就开启一个线程去爬取页面信息。线程里面的爬虫代码是jsoup的api封装好的方法。代码跑到里面就报错了。后面的改变文本字体大小的代码还是正常执行的。。 ``` textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread() { @Override public void run() { Crawler crawler=new Crawler("http://i.kamigami.org/1055.html",""); Document document=crawler.jsoupGet(); } }.start(); textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, new Random().nextInt(30) + 20); } }); ```
python爬虫中用xpath总是获取不到内容,希望大家帮我看看这两个网页中所需内容如何定位?谢谢~
用python爬虫,代码用xpath总是获取不到内容,希望大家帮我看看这两个网页中所需内容如何定位? 1.想要获取下面网址中的 债券基本信息 ,试了很多xpath的路径都失败了,都是空的_(¦3」∠)_,下面贴出测试用的代码,希望大家能帮我看下xpath那部分为什么不对(倒数第二行),也可能是其他问题o(╥﹏╥)o ``` import requests from lxml import html url = 'http://www.chinamoney.com.cn/chinese/zqjc/?bondDefinedCode=1000040278' page = requests.Session().get(url) tree = html.fromstring(page.text) result = tree.xpath('//tbody//tr//th/text()') print(result) ``` 2.想要获取下面网址中的一个href属性 (截图中阴影部分,就是查询结果的网址),也试了很多xpath的路径也都失败了,不知道@href前应该写什么。 ![图片说明](https://img-ask.csdn.net/upload/201903/27/1553648799_758977.png) ``` url = 'http://www.chinamoney.com.cn/chinese/qwjsn/?searchValue=14中关村集MTN001' ``` 第一次提问,有什么不合适的希望谅解,工作需要,时间比较急切,麻烦大家了。━((*′д`)爻(′д`*))━!!!!
scrapy存到mysql查询无数据
## 1. 问题描述 尝试使用scrapy框架爬取网站,将爬取的数据存储到mysql数据库,执行完毕之后没有报错,但是我查询数据时,显示没有数据 (代码框架参考使用该博主代码尝试运行: https://www.cnblogs.com/fromlantianwei/p/10607956.html) ## 2. 部分截图 1. scrapy项目: ![图片说明](https://img-ask.csdn.net/upload/202003/04/1583310103_446281.png) 数据库创建: ![图片说明](https://img-ask.csdn.net/upload/202003/04/1583310345_774265.png) ##3. 相关代码 scrapy框架代码: (1)tencent爬虫文件 ``` # -*- coding: utf-8 -*- import scrapy from urllib import parse import re from copy import deepcopy from ScrapyPro3.items import ScrapyPro3Item class tencentSpider(scrapy.Spider): name = 'tencent' allowed_domains = [] start_urls = [ 'http://tieba.baidu.com/mo/q----,sz@320_240-1-3---2/m?kw=%E6%A1%82%E6%9E%97%E7%94%B5%E5%AD%90%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E5%8C%97%E6%B5%B7%E6%A0%A1%E5%8C%BA&pn=26140', ] def parse(self, response): # 总页面 item = ScrapyPro3Item() all_elements = response.xpath(".//div[@class='i']") # print(all_elements) for all_element in all_elements: content = all_element.xpath("./a/text()").extract_first() content = "".join(content.split()) change = re.compile(r'[\d]+.') content = change.sub('', content) item['comment'] = content person = all_element.xpath("./p/text()").extract_first() person = "".join(person.split()) # 去掉点赞数 评论数 change2 = re.compile(r'点[\d]+回[\d]+') person = change2.sub('', person) # 选择日期 change3 = re.compile(r'[\d]?[\d]?-[\d][\d](?=)') date = change3.findall(person) # 如果为今天则选择时间 change4 = re.compile(r'[\d]?[\d]?:[\d][\d](?=)') time = change4.findall(person) person = change3.sub('', person) person = change4.sub('', person) if time == []: item['time'] = date else: item['time'] = time item['name'] = person # 增加密码 活跃 item['is_active'] = '1' item['password'] = '123456' print(item) yield item # 下一页 """next_url = 'http://tieba.baidu.com/mo/q----,sz@320_240-1-3---2/' + parse.unquote( response.xpath(".//div[@class='bc p']/a/@href").extract_first()) print(next_url) yield scrapy.Request( next_url, callback=self.parse, )""" ``` (2)item文件 ``` # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # https://doc.scrapy.org/en/latest/topics/items.html import scrapy class ScrapyPro3Item(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() comment = scrapy.Field() time = scrapy.Field() name = scrapy.Field() password = scrapy.Field() is_active = scrapy.Field() ``` (3)pipelines文件 # -*- coding: utf-8 -*- # Define your item pipelines here # # Don't forget to add your pipeline to the ITEM_PIPELINES setting # See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html """class Scrapypro3Pipeline(object): def process_item(self, item, spider): return item""" import pymysql from twisted.enterprise import adbapi class Scrapypro3Pipeline(object): def __init__(self, dbpool): self.dbpool = dbpool @classmethod def from_settings(cls, settings): # 函数名固定,会被scrapy调用,直接可用settings的值 """ 数据库建立连接 :param settings: 配置参数 :return: 实例化参数 """ adbparams = dict( host='localhost', db='mu_ke', user='root', password='root', cursorclass=pymysql.cursors.DictCursor # 指定cursor类型 ) # 连接数据池ConnectionPool,使用pymysql或者Mysqldb连接 dbpool = adbapi.ConnectionPool('pymysql', **adbparams) # 返回实例化参数 return cls(dbpool) def process_item(self, item, spider): """ 使用twisted将MySQL插入变成异步执行。通过连接池执行具体的sql操作,返回一个对象 """ query = self.dbpool.runInteraction(self.do_insert, item) # 指定操作方法和操作数据 # 添加异常处理 query.addCallback(self.handle_error) # 处理异常 def do_insert(self, cursor, item): # 对数据库进行插入操作,并不需要commit,twisted会自动commit insert_sql = """ insert into login_person(name,password,is_active,comment,time) VALUES(%s,%s,%s,%s,%s) """ cursor.execute(insert_sql, (item['name'], item['password'], item['is_active'], item['comment'], item['time'])) def handle_error(self, failure): if failure: # 打印错误信息 print(failure)``` ``` (4) settings文件 ``` # -*- coding: utf-8 -*- # Scrapy settings for ScrapyPro3 project # # For simplicity, this file contains only settings considered important or # commonly used. You can find more settings consulting the documentation: # # https://doc.scrapy.org/en/latest/topics/settings.html # https://doc.scrapy.org/en/latest/topics/downloader-middleware.html # https://doc.scrapy.org/en/latest/topics/spider-middleware.html BOT_NAME = 'ScrapyPro3' SPIDER_MODULES = ['ScrapyPro3.spiders'] NEWSPIDER_MODULE = 'ScrapyPro3.spiders' # Crawl responsibly by identifying yourself (and your website) on the user-agent USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36' MYSQL_HOST = 'localhost' MYSQL_DBNAME = 'mu_ke' MYSQL_USER = 'root' MYSQL_PASSWD = 'root' # Obey robots.txt rules ROBOTSTXT_OBEY = False # Configure maximum concurrent requests performed by Scrapy (default: 16) #CONCURRENT_REQUESTS = 32 # Configure a delay for requests for the same website (default: 0) # See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay # See also autothrottle settings and docs #DOWNLOAD_DELAY = 3 # The download delay setting will honor only one of: #CONCURRENT_REQUESTS_PER_DOMAIN = 16 #CONCURRENT_REQUESTS_PER_IP = 16 # Disable cookies (enabled by default) #COOKIES_ENABLED = False # Disable Telnet Console (enabled by default) #TELNETCONSOLE_ENABLED = False # Override the default request headers: #DEFAULT_REQUEST_HEADERS = { # 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', # 'Accept-Language': 'en', #} # Enable or disable spider middlewares # See https://doc.scrapy.org/en/latest/topics/spider-middleware.html #SPIDER_MIDDLEWARES = { # 'ScrapyPro3.middlewares.ScrapyPro3SpiderMiddleware': 543, #} # Enable or disable downloader middlewares # See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html #DOWNLOADER_MIDDLEWARES = { # 'ScrapyPro3.middlewares.ScrapyPro3DownloaderMiddleware': 543, #} # Enable or disable extensions # See https://doc.scrapy.org/en/latest/topics/extensions.html #EXTENSIONS = { # 'scrapy.extensions.telnet.TelnetConsole': None, #} # Configure item pipelines # See https://doc.scrapy.org/en/latest/topics/item-pipeline.html ITEM_PIPELINES = { 'ScrapyPro3.pipelines.Scrapypro3Pipeline':200, } # Enable and configure the AutoThrottle extension (disabled by default) # See https://doc.scrapy.org/en/latest/topics/autothrottle.html #AUTOTHROTTLE_ENABLED = True # The initial download delay #AUTOTHROTTLE_START_DELAY = 5 # The maximum download delay to be set in case of high latencies #AUTOTHROTTLE_MAX_DELAY = 60 # The average number of requests Scrapy should be sending in parallel to # each remote server #AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0 # Enable showing throttling stats for every response received: #AUTOTHROTTLE_DEBUG = False # Enable and configure HTTP caching (disabled by default) # See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings #HTTPCACHE_ENABLED = True #HTTPCACHE_EXPIRATION_SECS = 0 #HTTPCACHE_DIR = 'httpcache' #HTTPCACHE_IGNORE_HTTP_CODES = [] #HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage' ``` (5)start文件——执行爬虫文件 ``` from scrapy import cmdline cmdline.execute(["scrapy","crawl","tencent"]) ``` 数据库创建代码: ``` create database mu_ke; CREATE TABLE `login_person` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, `passsword` varchar(100) DEFAULT NULL, `is_active` varchar(100) DEFAULT NULL, `comment` varchar(100) DEFAULT NULL, `time` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1181 DEFAULT CHARSET=utf8; select count(name) from login_person;#查询结果条数为0 ``` # 运行完代码后查询数据,显示条数为0,这里面有什么问题吗? (1) 执行过程正常 (2)运行 pycharm2019.3 python3.8 mysql8.0(workbench8.0) (3) 数据连接没有
python爬虫如何抓取包含JavaScript的网页中的信息
这里本科生一枚。。做本研要求抓取一些数据碰到了一些问题求指教> < 我想要抓取汽车之家上关于供应商的一些数据,然后在车型详情页里找到了关于供应商的框架源代码如下(只截取有用部分): <script type="text/javascript"> //属性 document.domain = "autohome.com.cn"; var page=1; var parameters = { isPage:0, pageCount:0, kindId:-1, vId:23867, pId: 110000, cId: 110100, sId: 0, cityUrl: '/frame/cms/GetProvinceCityList?SpecId=23867&SeriesId=0&roid1=2', url: "/frame/spec/{vId}/{pId}/{cId}/{sId}/{orderType}/{pageIndex}/{pageSize}?isPage={isPage}&seriesId={seriesId}&source={source}&kindId={kindId}" , kindUrl:"/frame/cms/GetKindBySpec?specId={vId}&provinceId={pId}&cityId={cId}&countyId={sId}", panel:"#dealer-box", pageSize:5, pageIndex: 1, orderType :0, seriesId:66, source:"defalut" }; $("[name='orderBy']").click(function() { parameters.orderType = $(this).attr('data-order'); $("#orderCan .current").attr("class", "linkname"); $(this).attr("class", "linkname current"); //parameters.pageIndex = 1; var firstPage = $("#dealerListPager a[data=1]").eq(0); if (firstPage.length == 1) { firstPage.click(); } else { load(); } return false; }); seajs.config({version:"1460100712877"}); var $$; seajs.use(['jquery','pop'], function ($) { $$=$; }); $(function(){ jQuery("#orderCan a").each(function(){ if($(this).attr("data-order")==parameters.orderType) { $("#orderCan .current").attr("class","linkname"); $(this).attr("class","linkname current"); } }) }) </script> <script type="text/javascript" src="http://x.autoimg.cn/dealer/bbs/js/DealerArea20160413.js?t=2016041421"></script> 里面包含的信息应该怎么抓取呢?我是通过selenium来进入网页的框架,这些js应该怎么解析?我尝试着用前面的那些parameter凑出来URL,但是输入到浏览器中就会跳转到汽这个网站的首页,用urllib2打开的话会报错Error 10060,但是网什么的也都没有问题,是我的IP被封了还是需要一个什么特殊的代理?? 本科期间只学过python的两门课,对java没什么了解,求帮助呀QAQ谢谢大家啦
Scrapy爬取下来的数据不全,为什么总会有遗漏?
本人小白一枚,刚接触Scrapy框架没多久,写了一个简单的Spider,但是发现每一次爬取后的结果都比网页上的真实数据量要少,比如网站上一共有100条,但我爬下来的结果一般会少几条至几十条不等,很少有100条齐的时候。 整个爬虫有两部分,一部分是页面的横向爬取(进入下一页),另一个是纵向的爬取(进入页面中每一产品的详细页面)。之前我一直以为是pipelines存储到excel的时候数据丢失了,后来经过Debug调试,发现是在Spider中,数据就遗漏了,def parse函数中的item数量是齐的,包括yield Request加入到队列中,但是调用def parse_item函数时,就有些产品的详细页面无法进入。这是什么原因呢,是因为Scrapy异步加载受网速之类的影响么,本身就有缺陷,还是说是我设计上面的问题?有什么解决的方法么,不然数据量一大那丢失的不是就很严重么。 求帮助,谢谢各位了。 ``` class MyFirstSpider(Spider): name = "MyFirstSpider" allowed_doamins = ["e-shenhua.com"] start_urls = ["https://www.e-shenhua.com/ec/auction/oilAuctionList.jsp?_DARGS=/ec/auction/oilAuctionList.jsp"] url = 'https://www.e-shenhua.com/ec/auction/oilAuctionList.jsp' def parse(self, response): items = [] selector = Selector(response) contents = selector.xpath('//table[@class="table expandable table-striped"]/tbody/tr') urldomain = 'https://www.e-shenhua.com' for content in contents: item = CyfirstItem() productId = content.xpath('td/a/text()').extract()[0].strip() productUrl = content.xpath('td/a/@href').extract()[0] totalUrl = urldomain + productUrl productName = content.xpath('td/a/text()').extract()[1].strip() deliveryArea = content.xpath('td/text()').extract()[-5].strip() saleUnit = content.xpath('td/text()').extract()[-4] item['productId'] = productId item['totalUrl'] = totalUrl item['productName'] = productName item['deliveryArea'] = deliveryArea item['saleUnit'] = saleUnit items.append(item) print(len(items)) # **************进入每个产品的子网页 for item in items: yield Request(item['totalUrl'],meta={'item':item},callback=self.parse_item) # print(item['productId']) # 下一页的跳转 nowpage = selector.xpath('//div[@class="pagination pagination-small"]/ul/li[@class="active"]/a/text()').extract()[0] nextpage = int(nowpage) + 1 str_nextpage = str(nextpage) nextLink = selector.xpath('//div[@class="pagination pagination-small"]/ul/li[last()]/a/@onclick').extract() if (len(nextLink)): yield scrapy.FormRequest.from_response(response, formdata={ *************** }, callback = self.parse ) # 产品子网页内容的抓取 def parse_item(self,response): sel = Selector(response) item = response.meta['item'] # print(item['productId']) productInfo = sel.xpath('//div[@id="content-products-info"]/table/tbody/tr') titalBidQty = ''.join(productInfo.xpath('td[3]/text()').extract()).strip() titalBidUnit = ''.join(productInfo.xpath('td[3]/span/text()').extract()) titalBid = titalBidQty + " " +titalBidUnit minBuyQty = ''.join(productInfo.xpath('td[4]/text()').extract()).strip() minBuyUnit = ''.join(productInfo.xpath('td[4]/span/text()').extract()) minBuy = minBuyQty + " " + minBuyUnit isminVarUnit = ''.join(sel.xpath('//div[@id="content-products-info"]/table/thead/tr/th[5]/text()').extract()) if(isminVarUnit == '最小变量单位'): minVarUnitsl = ''.join(productInfo.xpath('td[5]/text()').extract()).strip() minVarUnitdw = ''.join(productInfo.xpath('td[5]/span/text()').extract()) minVarUnit = minVarUnitsl + " " + minVarUnitdw startPrice = ''.join(productInfo.xpath('td[6]/text()').extract()).strip().rstrip('/') minAddUnit = ''.join(productInfo.xpath('td[7]/text()').extract()).strip() else: minVarUnit = '' startPrice = ''.join(productInfo.xpath('td[5]/text()').extract()).strip().rstrip('/') minAddUnit = ''.join(productInfo.xpath('td[6]/text()').extract()).strip() item['titalBid'] = titalBid item['minBuyQty'] = minBuy item['minVarUnit'] = minVarUnit item['startPrice'] = startPrice item['minAddUnit'] = minAddUnit # print(item) return item ```
java爬蟲新手問題Illegal character in path at index 38
写了一个简单的爬虫程序爬京东,之前是可以运行的,现在每次爬到固定的url就开始报错,附错误信息,部分代码段。 Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in path at index 38: http://vip.jd.com/fuli/detail/791.html public String getContent(CrawlerUrl url) throws Exception { String content = null; String urlString = url.getUrlString(); CloseableHttpClient httpclient = HttpClients.createDefault(); // 以下代码是参考httpclient官方给出的下载网页示例代码 try { HttpGet httpget = new HttpGet(urlString); CloseableHttpResponse response = httpclient.execute(httpget); try { int statusCode = response.getStatusLine().getStatusCode(); HttpEntity entity = response.getEntity(); if ((statusCode == HttpStatus.SC_OK) && (entity != null)) { entity = new BufferedHttpEntity(entity); StringBuilder sb = new StringBuilder(); String contentType = entity.getContentType().toString(); int charsetStart = contentType.indexOf("charset="); if (charsetStart != -1) { // 读取字符流 String charset = contentType.substring(charsetStart + 8); BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), charset)); int c; while ((c = reader.read()) != -1) sb.append((char) c); reader.close(); } else { // 先解析html文件的前几行获取字符编码,设置好编码格式,再解析html文件的全部内容 BufferedReader FiestReader = new BufferedReader(new InputStreamReader(entity.getContent())); String charset = null; String line = null; int charsetStartInHtml; while ((line = FiestReader.readLine()) != null) { charsetStartInHtml = line.indexOf("charset="); if (charsetStartInHtml != -1) { Matcher charsetMatcher = charsetRegexp.matcher(line); while (charsetMatcher.find()) charset = charsetMatcher.group(1); break; } } FiestReader.close(); BufferedReader SecondReader = new BufferedReader(new InputStreamReader(entity.getContent(), charset)); int c; while ((c = SecondReader.read()) != -1) sb.append((char) c); SecondReader.close(); } content = sb.toString(); } } finally { response.close(); } } finally { httpclient.close(); } visitedUrls.put(url.getUrlString(), url); url.setIsVisited(); // System.out.println(content); return content; } 对代码有什么意见也可以提出来,谢谢大神
请问下面的题答案是?以及为什么?
1)下面哪种方式可以让爬虫合理、合法地抓取当日尽可能多的数据? A. 通过漏洞进入他人计算机系统,把数据库dump出来。 B. 用大量低频关键词在目标站点上搜索,获得当日更全数据。 C. 找到热门的hub页,热门的话题,热门的账号,获取当日更全数据。 D. 用热门关键词在百度等搜索引擎上,用site:www.website.com + 关键词 查询,从而发现新数据 2)以下所列出的方法中,浏览器web数据抓取效率最高的方法是? A. selenium + phantomjs B. 使用chrome或者chrome内核抓取 C. 模拟web协议直接用wget或curl抓取 3)下面哪项是手机端抓取app数据相比web端的优势(多选): A. 手机端协议简单容易分析 B. 手机端可以使用模拟点击 C. 手机端就算出新版了旧版还是可以继续使用,不会立即停掉 D. 通常来说,手机端抓取同样信息量的数据,下载量更低 4)下面哪些代理支持rawsocket连接(多选)? A. HTTP代理 B. HTTPS代理 C. SOCKS4代理 D. SOCKS5代理 5)下面代码请求实际访问地址url是什么? url = "https://test.cn/test" params = { "xxxx":"1234" } headers = { "Host": "www.test.cn", "Accept-Encoding": "gzip,deflate", "Connection": "Keep-Alive" } requests.get(url, params, headers =headers, allow_redirects = False, verify = False) 假设http://test.cn/test?xxxx=1234返回的状态码302且response header里有Location:http://www.test.cn/dpool/ttt/domain.php?d=test&xxxx=1234 A. https://test.cn/test B. https://test.cn/test?xxxx=1234 C. https://www.test.cn/test?xxxx=1234 D.http://www.test.cn/dpool/ttt/domain.php?d=test&xxxx=1234 6)假如你要爬大量youtube视频的二进制内容,存储在本地,最佳的办法是? A. Mysql数据库存储 B. Redis存储 C. Mongodb存储 D. 文件系统 7)如果想爬自己手机应用上的HTTPS的数据,获得明文,下面哪个说法是正确的? A. 自己搭建一个HTTPS代理,让手机设置为这个代理,即可获得明文 B. 任何HTTPS明文都是可以获取的 C. 在PC上建立一个无线热点,让手机连这个热点,并使用Wireshare软件分析出HTTPS的明文数据 D. 通过让手机系统信任根证书,使用Man-in-the-middle中间人攻击技术,就可以获取任何HTTPS明文 8)以下哪个功能chromedriver协议不支持? A. 注入js文件 B. 模拟鼠标滑动 C. 网络请求的响应式处理 D. 同个实例可以同时操作多个页面 9)爬取数据过程中,哪个情况是最不可容忍的? A. 爬取的数据不完整,有部分数据遗失 B. 爬取程序非法关闭,内存泄露 C. 爬取的数据部分出错,手动修改 D. 不同版本的数据合并在一起 10)爬虫开发不会涉及到的技术或者知识有? A. tcp,udp传输协议 B. 反汇编技术 C. 数据库存储 D. 音视频流解析 E. 网络路由协议 F. 以上都会涉及
python re正则表达式,怎么匹配一段字符中间 的部分,已知头尾
例如:12\<34\<123456>123 需要输出的结果是<>中间的 123456 一开始我是这么写的 re.findall(<(.*?)>) 但是输出的结果是 34\<123456 应该怎么写才能正确获取到<>中的数据呢 刚学python 爬虫,求大佬指路
关于国家企业信用信息公示网的抓取?
现在在研究爬虫,但是因为技术有限所以磕磕碰碰,在抓取信用公示网的时候,遇到很多问题,大部分在网上搜索相关解决方法和自己摸索都解决了。目前这个网站主要是用了一种叫做加速乐的技术,也就是当访问时系统会返回521,但是获取参数会有jsluid参数,把这个参数加入cookie之后再次访问,会返回jsl_clearance参数,然后再利用参数进行访问才可以。目前jsluid已经拿到,但是返回的js没有搞明白,已经卡了一天了。请各位大神帮忙看看。 ``` var _16=function(){setTimeout('location.href=location.pathname+location.search.replace(/[\?|&]captcha-challenge/,\'\')',1500);document.cookie='__jsl_clearance=1536808582.071|0|'+(function(){var _56=[function(_16){return _16},function(_56){return _56},function(_16){return return('String.fromCharCode('+_16+')')}],_41=[((-~~~!!window['callP'+'hantom']<<-~[]-~-~!!window['callP'+'hantom'])+[]+[[]][0]),(-~{}+(-~~~!!window['callP'+'hantom']<<-~[]-~-~!!window['callP'+'hantom'])+[]+[]),(-~!!window['callP'+'hantom']+[])+(~~''+[]+[]),(-~!!window['callP'+'hantom']+[])+((-~[]+[-~-~!!window['callP'+'hantom']]>>-~-~!!window['callP'+'hantom'])+[]),((-~[]+[-~-~!!window['callP'+'hantom']]>>-~-~!!window['callP'+'hantom'])+[]),[-~[]-~-~!!window['callP'+'hantom']-~[]-~-~!!window['callP'+'hantom']],[(+!window.headless)+(+!window.headless)],(-~!!window['callP'+'hantom']+[])+(-~!!window['callP'+'hantom']+[]),((+!window.headless)+(+!window.headless)+(+!window.headless)+(+!window.headless)+[]+[]),(7+[]+[[]][0]),(-~!!window['callP'+'hantom']+[]),(-~!!window['callP'+'hantom']+[])+[(+!window.headless)+(+!window.headless)],(~~''+[]+[]),[-~(((+!window.headless)<<(+!window.headless)+(+!window.headless)))]];for(var _16=0;_16<_41.length;_16++){_41[_16]=_56[[0,2,1,0,1,2,1,2,0,1,2,1,2,1][_16]]([[(7+[]+[[]][0])+(~~''+[]+[]),((-~~~!!window['callP'+'hantom']<<-~[]-~-~!!window['callP'+'hantom'])+[]+[[]][0])+(7+[]+[[]][0])],[((-~[]+[-~-~!!window['callP'+'hantom']]>>-~-~!!window['callP'+'hantom'])+[])+(7+[]+[[]][0])],'99lV','%2B2a',((-~[]+[-~-~!!window['callP'+'hantom']]>>-~-~!!window['callP'+'hantom'])+[]),'k%3D',[(-~!!window['callP'+'hantom']+[])+(-~!!window['callP'+'hantom']+[])+((-~[]+[-~-~!!window['callP'+'hantom']]>>-~-~!!window['callP'+'hantom'])+[]),(-~!!window['callP'+'hantom']+[])+(~~''+[]+[])+(7+[]+[[]][0])],'zS',[window['callP'+'hantom']%~~''+[]+[]][0].charAt(~~!!window['callP'+'hantom']),[[-~[]-~-~!!window['callP'+'hantom']-~[]-~-~!!window['callP'+'hantom']]+[-~[]-~-~!!window['callP'+'hantom']-~[]-~-~!!window['callP'+'hantom']]],'LyEwh35%2F',[[-~[]-~-~!!window['callP'+'hantom']-~[]-~-~!!window['callP'+'hantom']]+[-~[]-~-~!!window['callP'+'hantom']-~[]-~-~!!window['callP'+'hantom']]],'2',({}+[[]][0]).charAt(-~!!window['callP'+'hantom'])][_41[_16]])};return _41.join('')})()+';Expires=Thu, 13-Sep-18 04:16:22 GMT;Path=/;'};if((function(){try{return !!window.addEventListener;}catch(e){return false;}})()){document.addEventListener('DOMContentLoaded',_16,false)}else{document.attachEvent('onreadystatechange',_16)} ``` 这里的jslclearance是 1536808582.071|0| 后面上一部分,但是这部分的代码没有搞懂,希望大家帮忙看看。 谢谢~~~~
关于tomcat超诡异乱码问题
先介绍一下背景.目前是需要做一个对某个page实时抓取抽取的接口,各部分组成如下图:![简要流程图](http://wmada.name/coco/jpg.png) 1,客户端提交请求给tomcat. 2,tomcat接收到请求会调用一个netty客户端,访问自己搭建的一个爬虫中心,用的netty 服务端 3,爬虫中心返回网页源码给netty客户端. 4,api做些解析,返回给请求的客户端 目前的情况是这样的. a,windows下单独调用netty客户端访问netty服务端,返回源码正常 b,windows下启动tomcat服务,客户端请求的时候发现在上述**_流程3时出现乱码_** c,linux下启动tomcat服务,客户端请求无乱码现象. 注:a,b中netty客户端调用的**代码完全一样** 本来怀疑是不是windows下和linux下大小端的问题,但是一想,a与b用的是同一个jdk,所以排除了这个怀疑. 目前对该问题基本陷入死胡同,跪等大神出现.
求救 数据库中内容正常,可通过java提出来输出到控制台之后就全是乱码了
![图片说明](https://img-ask.csdn.net/upload/201710/13/1507868635_25868.png) --------------------------------------------------------------------------------------- 数据库的内容是由朋友写的爬虫爬取出来的内容,汉字部分一切正常 --------------------------------------------------------------------------------------- ![图片说明](https://img-ask.csdn.net/upload/201710/13/1507868652_242290.png) --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- ![图片说明](https://img-ask.csdn.net/upload/201710/13/1507868659_50083.png) --------------------------------------------------------------------------------------- 上面两个图是数据库中表的属性,似乎已经全部设置成utf8了, java debug和以及java文件和工程编码之类的也都调成utf8了。 --------------------------------------------------------------------------------------- 但一由java提取出来并且输出到控制台测试之后就全变成乱码了 --------------------------------------------------------------------------------------- ![图片说明](https://img-ask.csdn.net/upload/201710/13/1507868739_305836.png) --------------------------------------------------------------------------------------- 代码应该也没问题,很头疼,求大神指导!拜托!万分感谢,代码如下 public static final String url = "jdbc:mysql://localhost:3306/test?&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false"; public static final String name = "com.mysql.jdbc.Driver"; public static final String user = "root"; public static final String password = "*********"; public Connection conn = null; public PreparedStatement pst = null; public MySQLConnect(String sql) { try { Class.forName(name);// 指定连接类型 conn = DriverManager.getConnection(url, user, password);// 获取连接 pst = conn.prepareStatement(sql);// 准备执行语句 } catch (Exception e) { e.printStackTrace(); } } public void close() { try { this.conn.close(); this.pst.close(); } catch (SQLException e) { e.printStackTrace(); } } --------------------------------------------------------------------------------------- static String sql = null; static MySQLConnect db1 = null; static ResultSet ret = null; public static void main(String[] args) { sql = "select *from test";//SQL语句 db1 = new MySQLConnect(sql);//创建DBHelper对象 try { ret = db1.pst.executeQuery();//执行语句,得到结果集 while (ret.next()) { String uid = ret.getString(1); String ufname = ret.getString(2); String ulname = ret.getString(3); String udate = ret.getString(4); System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate ); }//显示数据 ret.close(); db1.close();//关闭连接 } catch (SQLException e) { e.printStackTrace(); } } }
urllib里是否实现了DNS缓存?
python3.6 之前在看urllib相关内容时,有读到过一篇博客提到urllib实现了DNS缓存,但是现在找不到原帖了。 我阅读了一下urllib的request.py的源码,没有找到与DNS缓存相关的部分,刚开始学python看的有点乱,不知道是我没读懂还是不在request.py内,有没有哪位研究过这个问题?
淘宝列表URL中的cat参数怎么搞?
项目需要,需要去淘宝抓几页搜索结果进行分析。但是对于搜索的URL中的cat参数完全找不出规律。 举个例子: 1.. 我生成一个URL https://s.taobao.com/search?q=项链&s=0 ,在生成的页面当中可以抓到每个商品的一些信息。比如这个商品 S999纯银项链女锁骨四叶草吊坠简约饰品生日韩版情,可以抓到 category=50013865, nid=555713693267 其中nid就是商品的ID,category应该就是淘宝的类目ID。在网上能找到的淘宝类目大全中能够查到这个category数字代表的就是“项链”的三级类目。(貌似类目总共有5级) 2.. 同时,在淘宝分类列表(list.taobao.com)可以点击一些类目词进入列表页面,比如项链的就是 https://s.taobao.com/list?spm=a21bo.7723600.8575.3.6ad85ec9xbbFqU&q=%E9%A1%B9%E9%93%BE&cat=50015926%2C1705%2C50005700%2C28&style=grid&seller_type=taobao _其中有cat的值:50015926,1705,50005700,28。 看着URL的形式,感觉这个应该也是类目值。然而如果拿这几个数字在列表文件中查,1个都找不到。 反之,如果把这个url的cat部分改成cat=50013865,也就是上面找到的属性,出现的页面却会是“筛选条件加的太多啦,未找到与“项链”相关宝贝”。 3..所以判断搜索页面中找到的category的数字,和这个url中的cat的数字,不是一个域下面的数字,虽然看上去都是cat,而且也很像。亦或是这个数字做了处理? 因为搜索结果里面很乱,比如搜项链还会搜出来衣服,所以希望用限制cat的方式来进行数据获取。 请问有同学了解这个url的cat参数该如何处理吗?谢谢
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
JSON解析——net.sf.json.JSONObject
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
2019年还剩1天,我从外包公司离职了
这日子过的可真快啊,2019年还剩1天,外包公司干了不到3个月,我离职了
我一个37岁的程序员朋友
周末了,人一旦没有点事情干,心里就瞎想,而且跟几个老男人坐在一起,更容易瞎想,我自己现在也是 30 岁了,也是无时无刻在担心自己的职业生涯,担心丢掉工作没有收入,担心身体机能下降,担心突...
计算机网络的核心概念
这是《计算机网络》系列文章的第二篇文章 我们第一篇文章讲述了计算机网络的基本概念,互联网的基本名词,什么是协议以及几种接入网以及网络传输的物理媒体,那么本篇文章我们来探讨一下网络核心、交换网络、时延、丢包、吞吐量以及计算机网络的协议层次和网络攻击。 网络核心 网络的核心是由因特网端系统和链路构成的网状网络,下面这幅图正确的表达了这一点 那么在不同的 ISP 和本地以及家庭网络是如何交换信息的呢?...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
程序员如何通过造轮子走向人生巅峰?
前言:你所做的事情,也许暂时看不到成果。但不要灰心,你不是没有成长,而是在扎根。 程序员圈经常流行的一句话:“不要重复造轮子”。在计算机领域,我们将封装好的组件、库,叫做轮子。因为它可以拿来直接用,直接塞进我们的项目中,就能实现对应的功能。 有些同学会问,人家都已经做好了,你再来重新弄一遍,有什么意义?这不是在浪费时间吗。 殊不知,造轮子是一种学习方式,能快速进步,造得好,是自己超强能力的表...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试一个ArrayList我都能跟面试官扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
立即提问