使用requests_html库时。 .html 报黄,显示错误,不自动弹出,有大神知道是因为什么吗

from requests_html import HTMLSession
session=HTMLSession()
jd=session.get('http://new.test.com/')
link_list=jd.html


Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
安装过requests_html库了结果显示没有
一直错误显示 Traceback (most recent call last): File "C:/Users/14399/Desktop/py/crawler.py", line 1, in <module> from requests_html import HTMLSession ModuleNotFoundError: No module named 'requests_html' ``` from requests_html import HTMLSession session = HTMLSession() r = session.get('https://movie.douban.com/subject/1292052/') print(r.text) ```
请问python爬虫出现“Cannot use HTMLSession within an existing event loop. Use AsyncHTMLSession instead.“错误如何解决
我在网上学习爬虫,在用网上的例子时出现了错误 Cannot use HTMLSession within an existing event loop. Use AsyncHTMLSession instead. 请问该如何解决,我用的是anaconda ``` from requests_html import HTMLSession import re from matplotlib import pyplot as plt salary_element = '<p.*>(\d+)K-(\d+)K</p>' salary = [] disabled_button_element = '<button.* disabled="disabled">下一页</button>' disabled_button = None p = 1 while not disabled_button: print('正在爬取第' + str(p) + '页') url = 'https://sou.zhaopin.com/?p=' + str(p) + '&jl=530&kw=爬虫工程师&kt=3' session = HTMLSession() page = session.get(url) page.html.render(sleep=3) # 提取出薪资,保存为形如 [[10,20], [15,20], [12, 15]] 的数组 salary += re.findall(salary_element, page.html.html) # 判断页面中下一页按钮还能不能点击 disabled_button = re.findall(disabled_button_element, page.html.html) p = p + 1 session.close() # 求出每家公司的平均薪资,比如 [12, 15] 的平均值为 13 salary = [(int(s[0]) + int(s[1])) / 2 for s in salary] # 划定薪资范围,便于展示,你也可以尝试其它展示方案 low_salary, middle_salary, high_salary = [0, 0, 0] for s in salary: if s <= 15: low_salary += 1 elif s > 15 and s <= 30: middle_salary += 1 else: high_salary += 1 # 调节图形大小,宽,高 plt.figure(figsize=(6, 9)) # 定义饼状图的标签,标签是列表 labels = [u'<15K', u'15K-30K', u'>30K'] data = [low_salary, middle_salary, high_salary] plt.pie(data, labels=labels) # 设置x,y轴刻度一致,这样饼图才能是圆的 plt.axis('equal') plt.legend() plt.show() ```
Python爬虫,我用bs4的find方法为什么反回的是空值?怎么解决(已解决)?
代码如下: ``` import time import random import requests import urllib from bs4 import BeautifulSoup headers=("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36") opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) class UserAgent(): def _get_UA(self,html): soup = BeautifulSoup(html, "html.parser") ip_get = [] ip_list = soup.find_all("tr") for i in range(1,len(ip_list)): ip_both = ip_list[i].find_all("td") front = ip_both[1].text+':' ip_get.append(front+ip_both[2].text) time.sleep(random.randint(15,20)) return ip_get def _get_html(self,html): if html==None: this_html=urllib.request.urlopen('https://www.xicidaili.com/nn/1') else: soup = BeautifulSoup(html,"html.parser") next_page_url = soup.find("a",class_="next_page") print(next_page_url) html = urllib.request.urlopen('https://www.xicidaili.com'+next_page_url) this_html = html return this_html ``` 错误出在_get_html方法中else里面的代码,传入的地址没有问题,我用浏览器可以正常打开地址https://www.xicidaili.com/nn/1 主运行代码如下: ``` n = User_Agent.UserAgent() ip_html = n._get_html(None) fake_ip = n._get_UA(ip_html) ip_html = n._get_html(ip_html) ``` 还有报错是这么说的: ``` Traceback (most recent call last): File "E:\java4412\spider_demo\book_spider\main.py", line 21, in <module> None ip_html = n._get_html(ip_html) File "E:\java4412\spider_demo\book_spider\User_Agent.py", line 35, in _get_html html = urllib.request.urlopen('https://www.xicidaili.com'+next_page_url) TypeError: Can't convert 'NoneType' object to str implicitly ``` 有哪位大牛帮我看看这代码哪里不对么?本小白已经要疯了。。。。。 =========================分割线================================================================= 问题已解决 原因是我原先一直用一个固定header 我找了一个别人收集的User_Agent集合,在代码中随机更换header。 更改后的代码如下: ``` class UserAgent(): def _get_UA(self,soup): headers=("User-Agent",Headers.getheaders()) opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) # soup = BeautifulSoup(html, "html.parser") ip_get = [] ip_list = soup.find_all("tr") for i in range(1,len(ip_list)): ip_both = ip_list[i].find_all("td") front = ip_both[1].text+':' ip_get.append(front+ip_both[2].text) time.sleep(random.randint(15,20)) return ip_get def _get_html_first(self): headers=("User-Agent",Headers.getheaders()) opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) this_html=urllib.request.urlopen('https://www.xicidaili.com/nn/1') soup = BeautifulSoup(this_html,"html.parser") return soup def _get_soup(self,soup): headers=("User-Agent",Headers.getheaders()) opener=urllib.request.build_opener() opener.addheaders=[headers] urllib.request.install_opener(opener) next_page_url = soup.find("a",class_="next_page").get('href') print(next_page_url) html = urllib.request.urlopen('https://www.xicidaili.com'+next_page_url) soup = BeautifulSoup(html,'html.parser') return soup ``` 进行了一定的修改,可以正确运行。其中的_print()_是我为验证结果打的。
请问以下爬虫程序错在哪里,爬取到的数据存不进MQSQL数据库
1、请问以下爬虫程序错在哪里,爬取到的数据存不进MQSQL数据库,我在MYSQL里面已经建立了数据表: ``` mysql> CREATE TABLE `VERSION`( -> `index` INT, -> `code` INT, -> `name` VARCHAR(20) -> )ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4; ``` 2、全部代码如下 ``` import requests from lxml import etree import pymysql import re class GovementSpider(object): def __init__(self): self.one_url = 'http://www.mca.gov.cn/article/sj/xzqh/2019/' self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36" } self.db = pymysql.connect('localhost', '***', ***', 'reptile_db', charset='utf8') self.cursor = self.db.cursor() # 提取二级页面链接(假链接) def get_false_link(self): html = requests.get(url=self.one_url, headers=self.headers).content.decode('utf-8', 'ignore') parse_html = etree.HTML(html) # xpath://a[@class='artitlelist'] r_list = parse_html.xpath("//a[@class='artitlelist']") for r in r_list: # 或者这么找title属性值 # title = r.get('title') title = r.xpath("./@title")[0] # 利用正则找到第一个自己需要的title里面的地址(第一个一般都是最新的) if re.findall(r'.*?中华人民共和国县以上行政区划代码.*?', title, re.RegexFlag.S): # 获取到第1个就停止即可,第1个永远是最新的链接 two_link = 'http://www.mca.gov.cn' + r.xpath('./@href')[0] return two_link # 提取真是的二级页面链接(返回数据的链接) def get_true_link(self): two_false_link = self.get_false_link() html = requests.get(url=two_false_link, headers=self.headers).text pattern = re.compile(r'window.location.href="(.*?)"', re.RegexFlag.S) real_link = pattern.findall(html)[0] self.get_data(real_link) # 真正提取数据函数 def get_data(self, real_link): html = requests.get(url=real_link, headers=self.headers).text # 基本xpath: //tr[@height="19"] parse_html = etree.HTML(html) tr_list = parse_html.xpath('//tr[@height="19"]') k=0 index=[] for tr in tr_list: # code: ./td[2]/text() code = tr.xpath('./td[2]/text()')[0] # name: ./td[3]/text() name = tr.xpath('./td[3]/text()')[0] print(code, name) k+=1 index.append(k) self.save_sql(index,code,name) def save_sql(self,index,code,name): n=0 for index in index: code=code[n].strip() name=name[n].strip() self.cursor.execute("insert into version(index,code,name) values (%s,%s,%s)",(index,code,name)) self.db.commit() n+=1; # 主函数 def main(self): self.get_true_link() self.cursor.close() self.db.close() if __name__ == "__main__": spider = GovementSpider() spider.main() ``` 3、数据能够爬取到,但存不进数据库,提示以下错误: pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index,code,name) values (1,'8','澳')' at line 1")
python蜜汁报错,简直太奇怪了,大佬求救~
直接上图 ![图片说明](https://img-ask.csdn.net/upload/202002/10/1581318058_899459.png) 前249个没问题,循环来的为什么最后一个就有问题? 最后一步不肯走报错了 然后我试了一下协程爬取: ``` from gevent import monkey monkey.patch_all() import requests,time,gevent from gevent.queue import Queue start=time.time() url_list={'https://www.baidu.com/', 'https://www.sina.com.cn/', 'http://www.sohu.com/', 'https://www.qq.com/', 'https://www.163.com/', 'http://www.iqiyi.com/', 'https://www.tmall.com/', 'http://www.ifeng.com/' } work=Queue() for url in url_list: work.put_nowait(url) def pa(): while not work.empty(): url=work.get_nowait() res=requests.get(url) print(url,work.qsize(),res.status_code) task_list=[] for i in range(2): task=gevent.spawn(pa) task_list.append(task) gevent.joinall(task_list) end=time.time() print(end-start) ``` 错误就一大堆了。 ![图片说明](https://img-ask.csdn.net/upload/202002/10/1581318289_401344.png) 简单的爬取就可以过: ``` import requests from bs4 import BeautifulSoup headers={'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'} url='http://www.weather.com.cn/weather/101281905.shtml' res=requests.get(url,headers=headers) res.encoding='utf-8' bs=BeautifulSoup(res.text,'html.parser') lis=bs.find(class_='t clearfix').find_all('li') for li in lis: day=li.find('h1') how=li.find(class_='wea') num=li.find(class_='tem') print('日期:'+day.text+'\n天气:'+how.text+'\n温度:'+num.text+'\n---------------') ``` ![图片说明](https://img-ask.csdn.net/upload/202002/10/1581318440_49577.png) 已试,用selenium没发现问题 然而当我运行以下代码时: ``` from gevent import monkey monkey.patch_all() import gevent,requests, bs4, csv from gevent.queue import Queue work = Queue() url_1 = 'http://www.boohee.com/food/group/{type}?page={page}' for x in range(1, 4): for y in range(1, 4): real_url = url_1.format(type=x, page=y) work.put_nowait(real_url) url_2 = 'http://www.boohee.com/food/view_menu?page={page}' for x in range(1,4): real_url = url_2.format(page=x) work.put_nowait(real_url) print(work) ``` 结果是一片空 ![图片说明](https://img-ask.csdn.net/upload/202002/10/1581319419_795328.png)
小白用python编写的爬虫小程序突然失效,是ip被封还是其他问题,求教?
# 编写的python小程序,爬取豆瓣评论,昨天还可以用,今天就失效了,试过很多种解决方法,都没有成功,求教? ## 可能的问题是ip被封或者cookies? 主程序 ``` # -*- coding: utf-8 -*- import ReviewCollection from snownlp import SnowNLP from matplotlib import pyplot as plt #画饼状图 def PlotPie(ratio, labels, colors): plt.figure(figsize=(6, 8)) explode = (0.05,0) patches,l_text,p_text = plt.pie(ratio,explode=explode,labels=labels,colors=colors, labeldistance=1.1,autopct='%3.1f%%',shadow=False, startangle=90,pctdistance=0.6) plt.axis('equal') plt.legend() plt.show() def main(): #初始url url = 'https://movie.douban.com/subject/30176393/' #保存评论文件 outfile = 'review.txt' (reviews, sentiment) = ReviewCollection.CollectReivew(url, 20, outfile) numOfRevs = len(sentiment) print(numOfRevs) #print(sentiment) positive = 0.0 negative = 0.0 accuracy = 0.0 #利用snownlp逐条分析每个评论的情感 for i in range(numOfRevs): # if sentiment[i] == 1: # positive += 1 # else: # negative += 1 print(reviews[i]+str(i)) sent = SnowNLP(reviews[i]) predict = sent.sentiments #print(predict,end=' ') if predict >= 0.5: positive += 1 if sentiment[i] == 1: accuracy += 1 else: negative += 1 if sentiment[i] == 0: accuracy += 1 #计算情感分析的精度 print('情感预测精度为: ' + str(accuracy/numOfRevs)) # print(positive,negative) #绘制饼状图 #定义饼状图的标签 labels = ['Positive Reviews', 'Negetive Reviews'] #每个标签占的百分比 ratio = [positive/numOfRevs, negative/numOfRevs] # print(ratio[0],ratio[1]) colors = ['red','yellowgreen'] PlotPie(ratio, labels, colors) if __name__=="__main__": main() ``` 次程序 ``` #!/usr/bin/python # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import requests import csv import re import time import codecs import random def StartoSentiment(star): ''' 将评分转换为情感标签,简单起见 我们将大于或等于三星的评论当做正面评论 小于三星的评论当做负面评论 ''' score = int(star[-2]) if score >= 3: return 1 else: return 0 def CollectReivew(root, n, outfile): ''' 收集给定电影url的前n条评论 ''' reviews = [] sentiment = [] urlnumber = 0 headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36','Connection': 'close','cookie': 'll="108303"; bid=DOSjemTnbi0; _pk_ses.100001.4cf6=*; ap_v=0,6.0; __utma=30149280.1517093765.1576143949.1576143949.1576143949.1; __utmb=30149280.0.10.1576143949; __utmc=30149280; __utmz=30149280.1576143949.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=223695111.1844590374.1576143949.1576143949.1576143949.1; __utmc=223695111; __utmz=223695111.1576143949.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; __yadk_uid=iooXpNnGnHUza2r4ru7uRCpa3BXeHG0l; dbcl2="207917948:BFXaC6risAw"; ck=uFvj; _pk_id.100001.4cf6=4c11da64dc6451d3.1576143947.1.1576143971.1576143947.; __utmb=223695111.2.10.1576143949'} proxies = { "http":'http://121.69.46.177:9000',"https": 'https://122.136.212.132:53281'}#121.69.46.177:9000218.27.136.169:8085 122.136.212.132:53281 while urlnumber < n: url = root + 'comments?start=' + str(urlnumber) + '&limit=20&sort=new_score&status=P' print('要收集的电影评论网页为:' + url) # try: html = requests.get(url, headers = headers, proxies = proxies,timeout = 15) # # except Exception as e: # break soup = BeautifulSoup(html.text.encode("utf-8"),'html.parser') #通过正则表达式匹配评论和评分 for item in soup.find_all(name='span',attrs={'class':re.compile(r'^allstar')}): sentiment.append(StartoSentiment(item['class'][0])) #for item in soup.find_all(name='p',attrs={'class':''}): # if str(item).find('class="pl"') < 0: # r = str(item.string).strip() # reviews.append(r) comments = soup.find_all('span','short') for comment in comments: # print(comment.getText()+'\n') reviews.append(comment.getText()+'\n') urlnumber = urlnumber + 20 time.sleep(5) with codecs.open(outfile, 'w', 'utf-8') as output: for i in range(len(sentiment)): output.write(reviews[i] + '\t' + str(sentiment[i]) + '\n') return (reviews, sentiment) ``` ![图片说明](https://img-ask.csdn.net/upload/201912/12/1576149313_611712.jpg) 不设置参数proxies时错误如下:![图片说明](https://img-ask.csdn.net/upload/201912/12/1576149408_985833.jpg) 求教解决方法,感谢!!!!
python爬虫爬取的图片存在错误打不开
python3写的不知道哪里错了,求教大家帮看看 import requests from bs4 import BeautifulSoup ''' https://www.mzitu.com/ ''' def get_girls(url): headers = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" } Picreferer = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" } path = 'D:/mzitu/' html = requests.get(url,headers=headers).text all_list = BeautifulSoup(html,'lxml').find('ul',id="pins").find_all('li') for _ in all_list: girl_title = _.get_text() girl_url = _.find('img')['data-original'] print("{}:{}".format(girl_title,girl_url)) response = requests.get(girl_url,headers=headers) fileName = girl_title + '.jpg' print('正在保存图片' + fileName) with open(fileName,'wb') as f: f.write(response.content) if __name__ =="__main__": for page in range(1,229): url = 'https://www.mzitu.com/page/%s/' % page get_girls(url)
爬取亚马逊商品信息 显示错误
这里显示错误 ![图片说明](https://img-ask.csdn.net/upload/201704/23/1492937804_11317.jpg) ``` from lxml import html import csv,os,json import requests from exceptions import ValueError from time import sleep def AmzonParser(url): headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36'} page = requests.get(url,headers=headers) while True: sleep(3) try: doc = html.fromstring(page.content) XPATH_NAME = '//h1[@id="title"]//text()' XPATH_SALE_PRICE = '//span[contains(@id,"ourprice") or contains(@id,"saleprice")]/text()' XPATH_ORIGINAL_PRICE = '//td[contains(text(),"List Price") or contains(text(),"M.R.P") or contains(text(),"Price")]/following-sibling::td/text()' XPATH_CATEGORY = '//a[@class="a-link-normal a-color-tertiary"]//text()' XPATH_AVAILABILITY = '//div[@id="availability"]//text()' RAW_NAME = doc.xpath(XPATH_NAME) RAW_SALE_PRICE = doc.xpath(XPATH_SALE_PRICE) RAW_CATEGORY = doc.xpath(XPATH_CATEGORY) RAW_ORIGINAL_PRICE = doc.xpath(XPATH_ORIGINAL_PRICE) RAw_AVAILABILITY = doc.xpath(XPATH_AVAILABILITY) NAME = ' '.join(''.join(RAW_NAME).split()) if RAW_NAME else None SALE_PRICE = ' '.join(''.join(RAW_SALE_PRICE).split()).strip() if RAW_SALE_PRICE else None CATEGORY = ' > '.join([i.strip() for i in RAW_CATEGORY]) if RAW_CATEGORY else None ORIGINAL_PRICE = ''.join(RAW_ORIGINAL_PRICE).strip() if RAW_ORIGINAL_PRICE else None AVAILABILITY = ''.join(RAw_AVAILABILITY).strip() if RAw_AVAILABILITY else None if not ORIGINAL_PRICE: ORIGINAL_PRICE = SALE_PRICE if page.status_code!=200: raise ValueError('captha') data = { 'NAME':NAME, 'SALE_PRICE':SALE_PRICE, 'CATEGORY':CATEGORY, 'ORIGINAL_PRICE':ORIGINAL_PRICE, 'AVAILABILITY':AVAILABILITY, 'URL':url, } return data except Exception as e: print (e) def ReadAsin(): # AsinList = csv.DictReader(open(os.path.join(os.path.dirname(__file__),"Asinfeed.csv"))) AsinList = ['B0046UR4F4', 'B00JGTVU5A', 'B00GJYCIVK', 'B00EPGK7CQ', 'B00EPGKA4G', 'B00YW5DLB4', 'B00KGD0628', 'B00O9A48N2', 'B00O9A4MEW', 'B00UZKG8QU',] extracted_data = [] for i in AsinList: url = "http://www.amazon.com/dp/"+i print ("Processing: )"+url extracted_data.append(AmzonParser(url)) sleep(5) f=open('data.json','w') json.dump(extracted_data,f,indent=4) if __name__ == "__main__": ReadAsin() ```
出现AttributeError: 'NoneType' object has no attribute 'text'错误,无法解决....能答否?
今天在做爬虫练习时遇到: Traceback (most recent call last): File "C:\Users\Liangdawang\Desktop\crawler.py", line 7, in <module> print(title.text) AttributeError: 'NoneType' object has no attribute 'text' 本人小白 ,不知道为什么会出现这种错误,希望大佬解答仔细一点,还有就是对这种类型的解释以及类似的错误还有哪些 原代码: ``` from requests_html import HTMLSession session = HTMLSession() r = session.get('https://movie.douban.com/subject/1292052') title = r.html.find('#app > div > div > div.container > div:nth-child(6) > h3:nth-child(26) > b',first=True) print(title.text) ``` 错误截图: ![图片说明](https://img-ask.csdn.net/upload/201909/27/1569590119_512714.jpg)
求助,python 解析爬取的网页源码中的json部分
爬下来的网页源码有一部分是这样的 : ![图片说明](https://img-ask.csdn.net/upload/201603/11/1457684608_605734.jpg) 中间那一部分是json吧?要怎么才能解析成像浏览器那样的好继续抓取所要的信息? 说部分是因为有另外一些是正常的html,就中间这一部分想要的信息就这样两行超级长的延伸。。。也使用过json.load()来解析,不想显示错误“没有可以解析的json对象”。 这两行中还有一部分“}\u0026nick\u003d${nick}\u0026rn\u003d${rn}\u0026stats...”应该是unicode的编码,也不知道要怎么办。。 我是想要从淘宝上爬些衣服的图片下来,从首页开始,爬出其中分页的链接,然后拿到分页的源码后要解析出图片的url时出的问题。 下面是部分代码: url = 'https://www.taobao.com' header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4'} cookie = {"cookies":'mt="ci=10_1";uc1="cookie14=UoWyia%2Bf0iS5lw%3D%3D&cookie16=VT5L2FSpNgq6fDudInPRgavC%2BQ%3D%3D&existShop=false&cookie21=U%2BGCWk%2F7pY%2FF&tag=7&cookie15=UIHiLt3xD8xYTw%3D%3D&pas=0"'} html = requests.get(url) #解析html,xml转义字符 html_parser = HTMLParser.HTMLParser() text = html_parser.unescape(html.text) # soup = BeautifulSoup(html.text) #用xpath来提取链接,如"打底羊毛衫"这个类别 selector = etree.HTML(text) sub_url = selector.xpath('//*[@id="J_Top"]/div/div[1]/div/div/div/div[3]/div[1]/div/div/div[1]/a[1]/@href') print sub_url[0] sub_html = requests.get(sub_url[0]) sub_text = html_parser.unescape(sub_html.text) # soup = BeautifulSoup(sub_html.text,"lxml") # print soup.prettify() print sub_text ``` ```
Python代码读取网页时发生错误,请问我的代码该怎么改?
``` # -*- coding: utf-8 -*- """ Created on Fri Apr 7 13:18:02 2017 @author: jcj """ #from urllib import urlopen import urllib2 #import requests from bs4 import BeautifulSoup class JobScrapy(): def __init__(self): '''初始化函数:初始化内容包括headers''' user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' self.myheaders = { 'User-Agent' : user_agent } self.myhomeUrl = [] def setUrl(self,strUrl):#该方法用来设置homeUrl '''设置读取的homepage''' self.myhomeUrl = strUrl def load_homePage(self):#通过homeUrl访问网址,并返回访问得到的xml文件 '''加载homepage''' req = urllib2.Request(url = self.myhomeUrl, data = None, headers = self.myheaders) home_request = urllib2.urlopen(req) home_html = home_request.read() return home_html def load_cityPage(self,strCity): '''加载citypage''' cityUrl = self.myhomeUrl+'/'+strCity+'/' req = urllib2.Request(url = cityUrl,data = None, headers = self.myheaders) city_request = urllib2.urlopen(req) city_html = city_request.read() return city_html # def down_jobinfo(self,path): def main(): site = 'http://www.yingjiesheng.com' JS = JobScrapy() JS.setUrl(site) home_html = JS.load_homePage() city_html = JS.load_cityPage('beijing') city_soup = BeautifulSoup(city_html,from_encoding='GBK') print city_soup if __name__ == '__main__': main() ```
Nginx无法访问tomcat下面的视频文件
通过Nginx配置转发。无法访问tomcat下面的视频文件。其它资源文件都没有问题 ``` server { listen 80 ; server_name abc.test.com; keepalive_timeout 120; keepalive_requests 20000; location / { proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Connection ""; proxy_pass http://127.xxx; } } ``` 直接访问,http://abc.test.com/core/images/media/20190912/20190912172014_4.mp4 页面出现404错误,但是访问图片又可以正常出来。 查看nginx日志: 2019/10/16 17:42:27 [error] 28375#0: *663727 open() "/usr/local/nginx/html/core/images/media/20190920/20190920223607_535.mp4" failed (2: No such file or directory), client: 59.41.23.107, server: abc.q test.com"GET /ejcore/ages/media/20190920/20190920223607_535.mp4 HTTP/1.1", host:
python中报TypeError: __init__() missing 2 required positional arguments: 'url' and 'method'
demo1.py代码如下: import requests class RunMain: def __init__(self,url,method,data=None): self.res = self.run_main(url,method,data) def send_get(self,url,data): res = requests.get(url=url,data=data) return res.json() def send_post(self,url,data): res = requests.post(url=url,data=data) return res.json() def run_main(self,url,method,data=None): res = None if method == 'GET': res = self.send_get(url,data) else: res = self.send_post(url,data) return res if __name__ == '__main__': url = 'http://www.imooc.com/m/web/shizhanapi/loadmorepingjia.html' data = { 'cart': '11' } run = RunMain(url,'GET',data) print(run.res) test_method1.py代码如下: #coding = utf-8 import unittest from demo1 import RunMain class TestMethod(unittest.TestCase): def setUp(self): self.run = RunMain() def test_01(self): url = 'http://coding.imooc.com/api/cate' data = { 'timestamp': '1507034803124', 'uid': '5249191', 'uuid': '5ae7d1a22c82fb89c78f603420870ad7', 'secrect': '078474b41dd37ddd5efeb04aa591ec12', 'token': '7d6f14f21ec96d755de41e6c076758dd', 'cid': '0' } res = self.run.run_main(url,'POST',data) print(res) def test_02(self): url = 'http://coding.imooc.com/api/cate' data = { 'timestamp': '1507034803124', 'uid': '5249192', 'uuid': '5ae7d1a22c82fb89c78f603420870ad7', 'secrect': '078474b41dd37ddd5efeb04aa591ec12', 'token': '7d6f14f21ec96d755de41e6c076758dd', 'cid': '0' } res = self.run.run_main(url,'POST',data) print(res) if __name__ == '__main__': unittest.main(url,method) 但是报如下错误: Error Traceback (most recent call last): File "E:\MyLeaning\Python36-32\lib\unittest\case.py", line 59, in testPartExecutor yield File "E:\MyLeaning\Python36-32\lib\unittest\case.py", line 601, in run self.setUp() File "D:\www\ImoocInterface\base\test_method1.py", line 7, in setUp self.run = RunMain() TypeError: __init__() missing 2 required positional arguments: 'url' and 'method' ``` ```
python爬虫爬取数据存储进数据库的问题
一直说我主键已存在,无法进行存储 我做的爬虫是csdn爬虫,针对于论坛一个版块,爬取某几页的所有帖子 我用的是flask-sqlalchemy来进行操作数据库,下面是三个需要用到的模型: ``` class Topic(db.Model): answer = relationship('Answer', backref='topic', lazy='dynamic') author_id = Column(String(30), ForeignKey('user.id')) id=Column(String(30),primary_key=True) title = Column(String(30)) author_name=Column(String(30)) create_time = Column('create_time', Integer) answer_nums=Column(Integer,default=0) content=Column(Text) click_nums=Column(String(30),default='0') parised_nums=Column(Integer,default=0) score=Column(Integer,default=0) status=Column(String(30)) jtl=Column(String(30),default='0.0') ``` **_上面是帖子模型,跟answer模型相关联,answer模型就是一个帖子内的所有回答,而同时author_id是作为外键跟user模型相关联 **_ ``` class Answer(db.Model): id=Column(String(30),primary_key=True) topic_name=Column(String(30)) author_name=Column(String(30)) author_id=Column(String(30)) content=Column(Text) create_time = Column('create_time', Integer) parised_nums=Column(Integer,default=0) topic_id=Column(String(30),ForeignKey('topic.id')) ``` 上面是针对每一个回答的模型 ``` class User(db.Model): topic=relationship('Topic',backref='user',lazy='dynamic') id=Column(String(30),primary_key=True) click_nums=Column(String(30),default='0') original_nums=Column(Integer,default=0) #原创数 forward_nums=Column(Integer,default=0) #转发数 rate=Column(Integer,default=-1) #排名 answer_nums=Column(Integer,default=0) #评论数 parised_nums=Column(Integer,default=0) #获赞数 desc=Column(Text) #描述 industry=Column(String(40)) #工作行业 location=Column(String(40)) follower_nums=Column(Integer,default=0) #粉丝数 following_nums=Column(Integer,default=0) #关注数 level=Column(Integer) ``` 上面就是用到的三大模型: 下面是进行存储数据的代码: ``` if page == 0: html = requests.get('https://bbs.csdn.net/forums/Mobile/recommend').text else: html=requests.get('https://bbs.csdn.net/forums/Mobile/recommend',params={'page':page}).text bsoj = BeautifulSoup(html, 'lxml') tags= bsoj.find('div', class_='forums_table_c').tbody.find_all('tr') ''' 爬取这一页的帖子,至于第几页根据传进来的page所定义 tags就是里面帖子的集合 ''' for tag in tags: status=self.get_status(tag) score=self.get_score(tag) answer_nums,click_nums=self.get_click_nums_and_answer_nums(tag) ''' 上面这三个是需要爬取的几个东西,不需要理会 ''' url='https://bbs.csdn.net'+self.get_url(tag) ''' 这个url就是每一个帖子的url ''' topic=Topic(url,score,status,click_nums,int(answer_nums)) topic_db = Topic_Model(topic) ''' 初始化topic,这个topic_db就是topic模型的对象 ''' user = User(topic.author_id) user_db = User_Model(user) ''' user就是user模型的对象 ''' self.onhand(url,topic,topic_db,user_db,user) def onhand(self,url,topic,topic_db,user_db,user): html=requests.get(url).text bsoj=BeautifulSoup(html,'lxml') tags=bsoj.find_all('div',class_='mod_topic_wrap post') answers=[] ''' 这一步是为了抓取一个帖子内所有的回答 ''' for tag in tags: answer=Answer(topic,tag) answer_db=Answer_Model(answer) answers.append(answer_db) ''' 抓取所有回答,并将每一个回答实例化一个Answer模型的对象 ''' topic_db.answer=answers ''' 关联数据库,将所有的answer对象都放在topic里面 ''' user_db.topic.append(topic_db) ''' user与topic关联 这里是有问题的,因为如果user已经存在再数据库里,那么就不会提交,那么这个topic增加就没意义了,但是我不知道如何解决 ''' if User_Model.query.filter_by(id=user.id).first() is None: db.session.add(user_db) db.session.commit() ''' 判断是否要存储到数据库里 ''' db.session.add(topic_db) db.session.commit() for data in answers: db.session.add(data) db.session.commit() ''' 将answer集合里的所有answer提交到数据库中 ''' ``` 下面是报错信息: ![图片说明](https://img-ask.csdn.net/upload/201904/22/1555936870_832821.png) 明明已经进行判断了,如果存在就不会进行存储,照样报错了,而且奇怪的是我debug时是这一句出现了错误: ``` db.session.add(topic_db) db.session.commit() ``` 不知道如何解决,求各位大佬帮忙
python 里面的方法(函数)无法执行
![图片说明](https://img-ask.csdn.net/upload/201912/04/1575463067_99351.png) 代码如下 ``` import urllib.request as ur import ssl import json import re import smtplib from email.mime.text import MIMEText context = ssl._create_unverified_context() def fasongdata(title,neirong): mailserver = "smtp.qq.com" # 邮箱服务器地址 username_send = '1715082070@qq.com' # 邮箱用户名 password = 'uloboyvbhdgabcbj' # 邮箱密码:需要使用授权码 username_recv = '1715082070@qq.com' # 收件人,多个收件人用逗号隔开 mail = MIMEText(neirong) mail['Subject'] = title mail['From'] = username_send # 发件人 mail['To'] = username_recv # 收件人;[]里的三个是固定写法,别问为什么,我只是代码的搬运工 # smtp = smtplib.SMTP(mailserver, port=25) # 连接邮箱服务器,smtp的端口号是25 smtp=smtplib.SMTP_SSL('smtp.qq.com',port=465) #QQ邮箱的服务器和端口号 smtp.login(username_send, password) # 登录邮箱 smtp.sendmail(username_send, username_recv, mail.as_string()) # 参数分别是发送者,接收者,第三个是把上面的发送邮件的内容变成字符串 smtp.quit() # 发送完毕后退出smtp print('发送邮件成功') def chaxu1(token,date): url='https://api.moguding.net:9000/attendence/clock/v1/list' data_s={"currPage":"1","pageSize":"10","startTime": str(date)+" 00:00:00","planId":"aa64c3a6aea631d42b3705772e164d15","endTime":"2020-12-31 23:59:59"} headers = { 'Authorization': token, 'Content-Type': 'application/json; charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; vivo X9s Build/OPM1.171019.019) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30', } data = json.dumps(data_s) try: requert = ur.Request(url=url,data=data.encode(),context=context) print('1') print(ur.urlopen(requert).read().decode()) except: pass def qiandao(token,username): data_s={ 'country': '中国', 'address': '湖北省 · 中国农业银行', 'province': '湖北省', 'city': '湖北省', 'latitude': '30.336959', 'type': 'START', 'longitude': '113.429182' } url = 'https://api.moguding.net:9000/attendence/clock/v1/save' headers = { 'Authorization': token, 'Content-Type': 'application/json; charset=UTF-8', 'User-Agent':'Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; vivo X9s Build/OPM1.171019.019) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30' } data=json.dumps(data_s) requests=ur.Request(url=url,data=data.encode("utf-8"),headers=headers) try: html = json.loads(ur.urlopen(requests, context=context).read().decode()) html=html['data']['createTime'][:10] print('我是一',username) print('我是二',html) chaxu1(token,html) except Exception as e: pass def logo(username,passwd): logo_data = { "phone":username, "password":passwd, "loginType":"android" } request_logo = ur.Request( url = 'https://api.moguding.net:9000/session/user/v1/login', data =json.dumps(logo_data).encode(), headers = { 'Content-Type':'application/json; charset=UTF-8' } ) try: token = json.loads(ur.urlopen(request_logo,context=context).read().decode())['data']['token'] qiandao(token,username) except Exception as e: datad = '<urlopen error Remote end closed connection without response>' if datad==str(e): print('网络连接超时') else: # print('账号或密码输入错误') return username+'账号或密码输入错误' pass if __name__ == '__main__': # qiandao('eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJtb2d1ZGluZy11c2VyIiwic3ViIjoie1wibG9naW5UeXBlXCI6XCJhbmRyb2lkXCIsXCJ1c2VySWRcIjoxMDEyMjQ2Mjd9IiwiYXVkIjoibW9ndWRpbmciLCJleHAiOjE4OTEwMDU4MTUsIm5iZiI6MTU3NTM4NTcxNSwiaWF0IjoxNTc1Mzg2NjE1fQ.cNDpwYjwAIUS3bMhOQdEOQXoTpyFCx5UWQ3YBKINJEqDiVAwhV4W0ID3U19q6lNgtDUjx8yWucgrtSf0gGwMFw','123') list=[] for data in open('zhanghaomim.txt','r',encoding='utf-8'): data=re.sub('\n','',data) list.append(data) if len(list) % 2 == 0: for i in range(len(list)): if i%2==0: logo(list[i],list[i+1]) else: # print('zhanghaomim.txt这个文件账号密码不完整') pass ```
接口返回数据错误,浏览器能正常访问,但是返回的数据不对?
http://www.shtdsc.com/i/shtdsc/jglb?pn=2&ps=10 这个网站可以在浏览器打开,但是使用requests返回的数据不对 返回的代码是202 ``` url = 'http://www.shtdsc.com/i/shtdsc/jglb?pn=2&ps=10' # url = 'http://www.shtdsc.com/2016/tdjy/dkjs/' headers ={ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Cookie': 'FSSBBIl1UgzbN7N80S=v5II3Ox4RUr46cw9mUaKp54cxsPxuL8u_JTfDG9DQV9ySF5uLGO4pH.i4pDquL0D; Hm_lvt_e951494076936a1cbdeaac613f3da44f=1578880532; Hm_lpvt_e951494076936a1cbdeaac613f3da44f=1578884586; FSSBBIl1UgzbN7Nenable=true; FSSBBIl1UgzbN7N80T=4hKEIXlAKI6wgL1WMPAxyS_behWrgdkeGu4fk7sB_7AQWawhqATZMuTis80M9U.tgS_D4Yx8u8jyTPlNcVS60RKKKccAxIN9TY0E9RaejTF9E08fWKl07oiCgOTKpXvOaEnqvClOamVJdLVJXRoyt5wHXjbzBpuzqTzZcUFOScPFqE.RaqPGDpOPszwkJkwfGBIFt1w5m.alQ7WGZkjWyH_Nxc6hTp735HU4Yr8jhrXgXGXHYjzwNPzzwJp37JUWpRsOIPqG6T8JOun5fdRV9YZMil2Z2bSt38.tjvRwWaVGsL.POjI4Mq.RLHOd7EuekG.DwODiBSgsOD3TcENWV6t3uStrN.gj4cHhL1vYBqjO0m22zkYAthgZmyEj0ugmekH9', 'Host': 'www.shtdsc.com', 'Upgrade-Insecure-Requests': '1', "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36", } resp = requests.get(url=url,headers=headers) print(resp) ``` 求大神帮忙解决,十万火急!
为什么我一用代理就会出现'list' object is not callable错误
import urllib.request import random import re def url_open(url): headers = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Referer':'http://www.gamersky.com/ent/201711/975615_2.shtml', 'Upgrade-Insecure-Requests':'1'} data = None req = urllib.request.Request(url, data, headers) req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0') iplist = ['182.16.175.2:53281','201.144.14.229:53281',' 87.228.29.154:53281'] proxy_support = urllib.request.ProxyHandler({'http':random.choice(iplist)}) opener = urllib.request.build_opener(proxy_support) opener.addheaders('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0') urllib.request.install_opener(opener) response = urllib.request.urlopen(url) html = response.read() return html def find_imgs(url): html = url_open(url).decode('utf-8') pa = re.compile(r'http.+?/.jpg') imglists = pa.findall(html) return imglists def save_imgs(img_addrs): for each in img_addrs: filename = each.split('/')[-1] with open(filename, 'wb') as f: img = url_open(each) f.write(img) def download_mm(pages=10): url = 'http://www.gamersky.com/' for i in range(pages): if i==1: page_url = url + 'ent/201711/975615' + 'shtml' else: page_url = url + 'ent/201711/975615_' + str(i) + 'shtml' img_addrs = find_imgs(page_url) save_imgs(img_addrs) if __name__ == '__main__': download_mm()
Nginx配置https协议,错误咨询
我们系统在DMZ区的Nginx配置了https协议,从外网访问的时候,系统报错The request has been blocked;The content must be served over HTTPS。即https无法加载http资源,于是我在nginx.conf中加入:add_header Content-Security-Policy upgrade-insecure-requests;后,这个错误不报了,但是报: ![图片说明](https://img-ask.csdn.net/upload/201812/20/1545266955_470060.jpg) 以下为我的nginx配置,请大神们帮忙指导下,万分感谢! upstream testupsceshi{ server 内网IP:端口号 weight=1; } server { listen 443 ssl; server_name testceshi.bocins.com; ssl_certificate /home/apps/sslcert/bocinsserver.cer; ssl_certificate_key /home/apps/sslcert/bocins.key; #charset koi8-r; access_log logs/test.host.access.log; error_log logs/test.host.error.log; location / { proxy_pass http://testupsceshi; proxy_redirect http://testupsceshi http://$host:$server_port; add_header Content-Security-Policy upgrade-insecure-requests; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } error_page 404 404.html; #error_page 497 https://$host:$server_port$uri?$args; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
程序员,职场上请远离这种人!
对有些职场人来讲,甩锅就是一种生存手段。01.从大学打篮球说起上大学的时候喜欢打篮球,然后我又特别喜欢抢篮板,经常是跳起来的时候没事,落下来的时候偶尔会踩到别人的脚上,于...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
一个读研让我损失了一百万的真实故事
关注我!只要10分钟,包你学会数据分析 毕业后,应该就业还是考研? 我刚出国留学那会儿,就惊讶的发现,外国local95%都不会选择读研 他们说,硕士学费很贵,时间宝贵,老板不认,所以很费 当几乎所有人都是本科学历时,硕士学历反而像个异类 在老板眼里,三年硕士远远不如3年的工作经验实用 他们甚至专门为拒绝高学历者发明了一个词,叫overoccupie...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
杭漂程序员2019的心路历程,还不起助学贷款,交不起房租,披荆斩棘终雨过天晴
一个杭漂2019的心酸历程,一路披荆斩棘终于还是雨过天晴。
我采访了同事,让他掏出了每天都会浏览的干货网站
前言只有光头才能变强。文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y在周六的晚上,我日常去到公司写文章。想写...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
相关热词 c#如何定义数组列表 c#倒序读取txt文件 java代码生成c# c# tcp发送数据 c#解决时间格式带星期 c#类似hashmap c#设置istbox的值 c#获取多线程返回值 c# 包含数字 枚举 c# timespan
立即提问