近期从零到有的学习一点东西,逐步增加自己对代码的感性认识。也算是生活的一种别样记录。愿于程序之海沉沉浮浮,心仍饱含浪漫与创造。

目录

项目背景

一、项目开发环境

二、所使用的python库

requests

Selenium

xlwt

三:基本思路

四:具体实现

1:获取网页信息

五:效果展示

六:源码获取



项目背景

落笔此篇的时间为2022/03/12。随着短视频的迅速发展,公众号作为一个以文字传播为主的平台,正逐步从过去几年的迅速膨胀开始内容沉淀。以流量博人眼球的文章正逐渐退出市场红海。换言之,人们写公众号,看公众号的目的正逐步转变为“了解”,或是“沉淀”。其实文字的意义本就如此,它的娱乐意义其实是微不足道的,虽然我们有时会不由自主的将这种“娱乐意义”放大。然而浮躁过后,文字真正赤诚的核心,依然灼灼生辉。

不管是文学主题的公众号,还是以教学为主,以及其他类型。总有几篇文章我们想要反复阅读。此时此刻会发现,其过程相对来说很是繁琐。打开微信,找到目标公众号,选择文章。往往会耽误我们很多时间,所以如果能够运用技术将其保存,一定会很是便利。

本次项目案例会以笔者的文学类公众号【深挚吟】为例,带大家一步一步完成项目过程。

微信扫码—>关注

深挚吟:孤独文字栖息地


一、项目开发环境

   python:

3.10.2

   Pycharm:

  • 运行时版本: 11.0.12+7-b1504.28 amd64
  • VM: OpenJDK 64-Bit Server VM,JetBrains s.r.o.

二、所使用的python库

requests

Requests is an elegant and simple HTTP library for Python, built for human beings.

Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling are 100% automatic, thanks to urllib3.

Selenium

Selenium is an umbrella project for a range of tools and libraries that enable and support the automation of web browsers.

It provides extensions to emulate user interaction with browsers, a distribution server for scaling browser allocation, and the infrastructure for implementations of the W3C WebDriver specification that lets you write interchangeable code for all major web browsers.

xlwt

xlwt is a library for writing data and formatting information to older Excel files (ie: .xls)

ps:Documentation is sparse, please see the API reference or code for help:API Reference — xlwt 1.3.0 documentationhttps://xlwt.readthedocs.io/en/latest/api.html


三:基本思路

  1. 首先获取公众号网页相关信息,常规的如:headers,cookie,params.等必要信息。以及fakeid,token等信息。
  2. 利用相关相关库函数获取返回信息
  3. 分析返回信息并保存为表格,以及获取其网页截图。

强调:公众号后台用于区分用户的参数为fakeid

tips:

微信公众平台的所谓“openid”分为两种:

  • [第一种openid]为利用交互的xml中获取:

    <FromUserName><![CDATA[fromUser]]></FromUserName>
    

    每个用户针对每个微信公众平台唯一,即同一个用户对不同微信公众平台[第一种openid]是不同的;
    个人倾向称之为fakeid,获取不需要授权页面。

  • [第二种openid]为利用微信提供的OAuth2.0接口(高级接口需要为认证的服务号)
    每个用户唯一,也就是说同一个用户对不同微信公众平台的[第二种openid]都是一样的;
    个人倾向称之为真正的openid,获取需要授权页面。

第一种公众平台开发者文档没有明说,但只要看过文档不难推断;
第二种所用接口详见:

微信开放文档 (qq.com)https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId

token:

token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的token失效。


四:具体实现

1:获取网页信息

        这里获取的方式采用直接在微信后台获取我们所需要的信息,这样的方式只需在PC端执行即可,但这种方式要求进入任意公众号的后台,即:你需要申请一个公众号。

PS:微信公众号申请步骤:

(个人)注册公众平台步骤 (qq.com)https://kf.qq.com/faq/120911VrYVrA151009eIrYvy.html#:~:text=%EF%BC%88%E4%B8%AA%E4%BA%BA%EF%BC%89%E6%B3%A8%E5%86%8C%E5%85%AC%E4%BC%97%E5%B9%B3%E5%8F%B0%E6%AD%A5%E9%AA%A4%201%20%E6%89%93%E5%BC%80%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%B9%B3%E5%8F%B0%E5%AE%98%E7%BD%91%EF%BC%9Ahttps%3A%2F%2Fmp.weixin.qq.com%2F%20%E5%8F%B3%E4%B8%8A%E8%A7%92%E7%82%B9%E5%87%BB%22%E7%AB%8B%E5%8D%B3%E2%80%8B%E6%B3%A8%E5%86%8C%22%EF%BC%9B%20...%202,%E5%A1%AB%E5%86%99%E9%82%AE%E7%AE%B1%EF%BC%8C%E7%99%BB%E5%BD%95%E6%82%A8%E7%9A%84%E9%82%AE%E7%AE%B1%EF%BC%8C%E6%9F%A5%E7%9C%8B%E6%BF%80%E6%B4%BB%E9%82%AE%E4%BB%B6%EF%BC%8C%E5%A1%AB%E5%86%99%E9%82%AE%E7%AE%B1%E9%AA%8C%E8%AF%81%E7%A0%81%E6%BF%80%E6%B4%BB%EF%BC%9B%203%20%E4%BA%86%E8%A7%A3%E8%AE%A2%E9%98%85%E5%8F%B7%E3%80%81%E6%9C%8D%E5%8A%A1%E5%8F%B7%E5%92%8C%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E7%9A%84%E5%8C%BA%E5%88%AB%E5%90%8E%EF%BC%8C%E9%80%89%E6%8B%A9%E6%83%B3%E8%A6%81%E7%9A%84%E5%B8%90%E5%8F%B7%E7%B1%BB%E5%9E%8B%EF%BC%9B%20...%204%20%E4%BF%A1%E6%81%AF%E7%99%BB%E8%AE%B0%EF%BC%8C%E9%80%89%E6%8B%A9%E4%B8%AA%E4%BA%BA%E7%B1%BB%E5%9E%8B%E4%B9%8B%E5%90%8E%EF%BC%8C%E5%A1%AB%E5%86%99%E8%BA%AB%E4%BB%BD%E8%AF%81%E4%BF%A1%E6%81%AF%EF%BC%9B

个人认为这样的方式是最为友好的(对于零基础的学习者)。另一种方式可以利用抓包软件Fiddler来进行操作。简单概述:可以用Fiddler配置手机,获取相关信息。

Fiddler官网:
Fiddler | Web Debugging Proxy and Troubleshooting Solutions (telerik.com)https://www.telerik.com/fiddlerFiddler的安装与配置Fiddler|Fiddler安装与配置 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/22992759

在此列出相关教学网站作为参考,本人曾亲测。但由于不可抗力原因未能完全成功,不论如何,Fiddler依然是一款非常出色的软件

(除此之外,也可通过搜狗等渠道获取,在此不再赘述)

1:打开微信公众号后台

首页——草稿箱——新的创作——写新图文——超链接

2:开启浏览器的开发人员工具,快捷键ctrl+shift+I,或F12(需开Fn)。

3:点击“网络(network)”

 4:依次点击“超链接”——“选择其他公众号”——输入“深挚吟”——回车键确认

 5:关注右下方“名称”,再到格式为“appmsg?....”的链接,并点击

 这样的链接可能有很多,任意点击即可

 6:我们需要的信息如下

  • 标头下的cookie,user-agent
  • 负载下的“fakeid”,“token”
  • 预览下的信息也很值得注意。(如果只是copy代码的话则无需研究,默认会获取内容与链接,也可以通过改变代码来获取其他信息)

2:导入我们需要的包

# -*- coding: utf-8 -*-
import requests
import time
import xlwt
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

3:获取页面的信息:名称+url

url_str = 'http://www.cq.gov.cn'
pic_name = r'qwq.png'headers = {# "cookie": "appmsglist_action_3889613222=card; ua_id=Q1Dfu2THA6T9Qr1HAAAAAN_KYa5xTwNmiuqj1Mkl6PY=; wxuin=18828715020059; openid2ticket_opsnW57Rn-HfZYURLULM6KyG49U4=; mm_lang=zh_CN; pgv_info=ssid=s3846515381; pgv_pvid=2250932512; rewardsn=; wxtokenkey=777; uuid=892882700c3649c61d997e65c9c391b1; rand_info=CAESIJOel5DqVg0rCHkL+nlhk4tMuse1Fc3Cqo1nlKt7VANx; slave_bizuin=3889613222; data_bizuin=3889613222; bizuin=3889613222; data_ticket=wb7Ew50VibgcG8efcvxnV0iYnw6mmwWlhpvUu/YPr7AVfs1vK8xooK9Wo+7w0MaW; slave_sid=WnNVZV93OFJlZ0VXTF9QODQ5M1Y2c0hibTdwNjZQV2VuTHpsSVZhQVplN3NvbklPM0p0NGJ2NUU0bXpKNGlkRlA0a28zQ2s1WkhpeVdyaFhiYmg5dTZ6OWpLTFByMlQ3SjNqMzNnM3Y4RkdqWXVKNUpOQnI4ZElTaXpWZnRKbEZmUGgyTm52QkYzd2JQZE11; slave_user=gh_bd2fc8d28eb3; xid=a5c7612f529374b74deb4178e7ff4ca7",# "cookie": "appmsglist_action_3866430480=card; appmsglist_action_3890620645=card; "#           "ua_id=Jr1GAkXiuik4EkthAAAAAD1Hayq-3G3IFZ-Whto4vWE=; wxuin=25411726488246; mm_lang=zh_CN; RK=/rpEYayaR+; "#           "ptcz=f0453cb9e02a0937eff3a5e021f0b8aff99a6155e39e25c7d06075b9a89ddd4e; Qs_lvt_323937=1628263969; "#           "Qs_pv_323937=2294544851859949300; ts_uid=3881336320; o_cookie=1610795342; pac_uid=1_1610795342; "#           "eas_sid=u1L6d3F6i6g5n1M4o3V4X726V3; pgv_pvid=1800158520; LW_uid=o1L6L348q1y9E6X1F4u0j9n6H9; "#           "tvfe_boss_uuid=eff8e567ac8e9f31; LW_sid=q1B6d4p222h4O5k343t349a0T6; "#           "fqm_pvqid=fad43520-e3af-42cc-aa27-ae1a9f1f0dda; _ga=GA1.2.1367857272.1644401878; "#           "rand_info=CAESILU+XCClRzACjhubS5r7+RobNdIgNz03rasO2G+MW69a; slave_bizuin=3890620645; "#           "data_bizuin=3890620645; bizuin=3890620645; "#           "data_ticket=6HJlKNywdfhxz61aG6JrVEiFoXo/ehycCJfXWvW79mR3lAFq2i1HuHE+M/WRILDD; "#           "slave_sid"#           "=S25vUWhHZkx2M1JlZzRzeHdsWmxLWEdyNlpYU0pvTHVSUTcwcmFMM3daS3ZlTFNtQTVhZUN0WTJsaF9rVkZab29IQ1JMUlFFS04xZXFheG01Z3l5NGNGZ0ZZTjNYSXdVM3ozRGlVbFJzRW9ocEdiSUZVUWQycUFOdzlaTWVybktHTkpKemxiQVoyMnA4SEdU; slave_user=gh_40ca67b64574; xid=59ac67ff50e340c29d63257d6675f829; rewardsn=; wxtokenkey=777",# "cookie": "appmsglist_action_3866430480=card; appmsglist_action_3890620645=card; ua_id=Jr1GAkXiuik4EkthAAAAAD1Hayq-3G3IFZ-Whto4vWE=; wxuin=25411726488246; mm_lang=zh_CN; RK=/rpEYayaR+; ptcz=f0453cb9e02a0937eff3a5e021f0b8aff99a6155e39e25c7d06075b9a89ddd4e; Qs_lvt_323937=1628263969; Qs_pv_323937=2294544851859949300; ts_uid=3881336320; o_cookie=1610795342; pac_uid=1_1610795342; eas_sid=u1L6d3F6i6g5n1M4o3V4X726V3; pgv_pvid=1800158520; LW_uid=o1L6L348q1y9E6X1F4u0j9n6H9; tvfe_boss_uuid=eff8e567ac8e9f31; LW_sid=q1B6d4p222h4O5k343t349a0T6; fqm_pvqid=fad43520-e3af-42cc-aa27-ae1a9f1f0dda; _ga=GA1.2.1367857272.1644401878; uuid=73bb89e0d66f947cb3403dfc8087018c; rand_info=CAESIOnZer1VV2udvf/Zu7y76IjCmGI4hKH62XI7DYZLui/y; slave_bizuin=3866430480; data_bizuin=3866430480; bizuin=3866430480; data_ticket=GFHbaJLvM46uJVnE5YKWjioKlPggd+t1zfnpYsh+Bg9v7Uac5T1I6cnsaLHhrSW6; slave_sid=aE9BRXU5RlBqRnpnWHlRazNfbUR6bHZ0ZjZ1T1c5VTZtTHczX0dWUUpDRlFFQzRIcWdtNXFQamxPUlRtZnVfVmo4S3l4OEVUQXp4OER2MEcxQjFITjh6TkQyZ0p4VXF4VnVOdjJCZU8yQXRDMWVSdHk1Q0JPcHVtV1pIT3QybUUzeVI2NDBzZWFCN1lRR0pI; slave_user=gh_39c206e4bc2d; xid=10e721b79c034e49e91336afb7e125eb","cookie":"appmsglist_action_3866430480=card; appmsglist_action_3890620645=card; ""ua_id=Jr1GAkXiuik4EkthAAAAAD1Hayq-3G3IFZ-Whto4vWE=; wxuin=25411726488246; mm_lang=zh_CN; RK=/rpEYayaR+; ""ptcz=f0453cb9e02a0937eff3a5e021f0b8aff99a6155e39e25c7d06075b9a89ddd4e; Qs_lvt_323937=1628263969; ""Qs_pv_323937=2294544851859949300; ts_uid=3881336320; o_cookie=1610795342; pac_uid=1_1610795342; ""eas_sid=u1L6d3F6i6g5n1M4o3V4X726V3; pgv_pvid=1800158520; LW_uid=o1L6L348q1y9E6X1F4u0j9n6H9; ""tvfe_boss_uuid=eff8e567ac8e9f31; LW_sid=q1B6d4p222h4O5k343t349a0T6; ""fqm_pvqid=fad43520-e3af-42cc-aa27-ae1a9f1f0dda; _ga=GA1.2.1367857272.1644401878; ""uuid=3ed86cd4a7ef7e8182e719b2261fc36c; rand_info=CAESIKgDpPbXLZm2X07WATmFpe5OAfEUmLEpYPEftZYhWZNF; ""slave_bizuin=3866430480; data_bizuin=3866430480; bizuin=3866430480; ""data_ticket=3Fj9DK1MO6r+GwP/cpIyuStW9p3o04KGVwyZ1cvhFXTkWUA7kGhTVXaec9WSTMQ7; ""slave_sid""=SFdQc2dNczdJRDc1NFNYcE43dm1tanc1R3lkY3RvWXNZV3l1WFVkbjNrNDZUMDgzU0RsSHROY3hyOEVJWDZDdUhqZW5uRmNqelgwNER2a1pqamg5VjFrWnRwdmxVNk9udVZiUVU5MFNQazJieXhCSjdVNmp4S1VvRDNsa0FrZGxma1hIWmR6U05ZVzlqVXlD; slave_user=gh_39c206e4bc2d; xid=99ab6eb5abe6fd043a09a9e300933d56",# "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"# "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.36 ""user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ""Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.39 "
}
url = 'https://mp.weixin.qq.com/cgi-bin/appmsg'
fad = 'Mzg5MDYyMDY0NQ=='  # 爬不同公众号只需要更改fakeiddef page(num=8):  # 要请求的文章页数title = []link = []for i in range(num):data = {'action': 'list_ex','begin': i * 5,  # 页数'count': '5','fakeid': fad,'type': '9','query': '','token': '407828752','lang': 'zh_CN','f': 'json','ajax': '1',}session = requests.Session()session.trust_env = Falser = session.get(url, headers=headers, params=data)dic = r.json()for i in dic['app_msg_list']:  # 遍历dic['app_msg_list']中所有内容title.append(i['title'])  # 取 key键 为‘title’的 value值link.append(i['link'])  # 去 key键 为‘link’的 value值return title, link

4:建立表格并网页截图

    for x, y in zip(tle, lik):# pdfkit.from_url(y, 'D:/python项目NEW/东大软件2020级公众号/' + x + '.pdf',configuration=config)sheet.write(n, 0, x)sheet.write(n, 1, y)n = n+1get_image(y, x + '.png')print(x, y)book.save(u'深挚吟公众号.xlsx')
def get_image(url, pic_name):"""#设置chrome开启的模式,headless就是无界面模式# 创建一个参数对象,用来控制chrome以无界面模式打开:param url:             获取获取网页的地址:param pic_name:        需要保存的文件名或路径+文件名:return:"""chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')# 创建浏览器对象# driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=chrome_options)driver = webdriver.Chrome(executable_path="D:/python/chromedriver_win32/chromedriver.exe",chrome_options=chrome_options)# 打开网页driver.get(url)# driver.maximize_window()# 加延时 防止未加载完就截图time.sleep(1)# 用js获取页面的宽高,如果有其他需要用js的部分也可以用这个方法width = driver.execute_script("return document.documentElement.scrollWidth")height = driver.execute_script("return document.documentElement.scrollHeight")# 获取页面宽度及其宽度print(width, height)# 将浏览器的宽高设置成刚刚获取的宽高driver.set_window_size(width, height)time.sleep(1)# 截图并关掉浏览器driver.get_screenshot_as_file(pic_name)driver.quit()

 webdriver的使用:

Use WebDriver to automate Microsoft Edge - Microsoft Edge Development | Microsoft Docshttps://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=c-sharpSelenium WebDriver使用 - cbowen - 博客园 (cnblogs.com)https://www.cnblogs.com/cbowen/p/13217857.htmlSelenium WebDriver | Selenium 中文文档 (gitbooks.io)https://wizardforcel.gitbooks.io/selenium-doc/content/official-site/selenium-web-driver.html需要下载驱动,更改代码。

再次不再赘述。

相关解释:

为什么不导出为pdf格式:

一开始确实是想要导出为pdf,各位可以看到我的代码里有导入pdfkit,但之后注释掉了。

原因是效果并不理想,相关css,js会使pdf很紊乱。pdfkit的用法如下:

PDFKithttp://pdfkit.org/

PDFKit is a PDF document generation library for Node and the browser that makes creating complex, multi-page, printable documents easy. The API embraces chainability, and includes both low level functions as well as abstractions for higher level functionality. The PDFKit API is designed to be simple, so generating complex documents is often as simple as a few function calls.

效果不理想后转而采用driver方法。感兴趣的朋友可自行探索

五:效果展示

  • 输出效果展示
  • 文件夹展示

六:源码获取

感觉有点用的话可以点击Star支持一下

treetop08/NEW-Obtain-all-the-articles-of-the-public-number-and-intercept-the-graph-export: 获取公众号的全部文章并截取图导出 (github.com)https://github.com/treetop08/NEW-Obtain-all-the-articles-of-the-public-number-and-intercept-the-graph-export有疑惑的话可以进入我的公众号,根据指引可以找到我的联系方式啊~

 不要觉得奇怪,学IT的人,文学素养,也可以很不错

——深挚吟 

【日记】python获取公众号的全部文章并截取图导出相关推荐

  1. 用Python获取公众号阅读数、点赞数。

    最近利用了「新榜」和「壹伴」生成了自己的公众号年报. 对自己公众号一年来的数据算是有所了解. 比如总阅读数.总点赞数. 这里小F发现「新榜」和「壹伴」的数据居然不一样. 于是乎也想着自己去获取公众号数 ...

  2. 获取公众号的所有文章

    脚本地址 个人写的python爬虫脚本,需要登录搜狗微信,并订阅相关公众号. 可修改脚本内容,获取到其他信息. QQ374356920

  3. python 微信公众号发文章_如何使用 Python 爬取微信公众号文章

    我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章.但是微信的阅读体验挺不好的,看历史文章得一页页的往后翻,下一次再看时还得重复操作,很是麻烦. 于是便想着能 ...

  4. JAVA 获取微信公众号发布的文章列表内容

    文章目录 代码业务场景 一.前提操作 二.开始操作 1.获取公众号的开发者id(AppID)和开发者密码(AppSecret),以及设置IP白名单 2.代码操作 总结 代码业务场景 最近在给客户开发一 ...

  5. 50行Python代码,教你获取公众号全部文章

    点击"小詹学Python",选择"置顶或者星标" 第一时间收到精彩推送! 小詹说:我们平时阅读公众号的文章会遇到一个问题--阅读历史文章体验不好.的确如此,小詹 ...

  6. python实现50行代码_50行Python代码,教你获取公众号全部文章

    > 本文首发自公众号:python3xxx 爬取公众号的方式常见的有两种 - 通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章 - 通过微信公众号的素材管理,获取公众号文章.缺点是需要申请自 ...

  7. 使用Python快速获取公众号文章定制电子书(二)

    原文链接 我的GitHub博客地址 接上篇文章使用Python快速获取公众号文章定制电子书(一).我们现在已经成功的将公众号历史消息的前十条文章给爬取了出来,使用 content_url 这个关键字段 ...

  8. 50行Python代码,获取公众号全部文章

    作者 | 胖虎 转载自Python3X(ID: python3xxx ) 爬取公众号的方式常见的有两种: 通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章. 通过微信公众号的素材管理,获取公众号文 ...

  9. 50行python代码自动生成文章_如何通过50行Python代码获取公众号全部文章

    前言 我们平时阅读公众号的文章会遇到一个问题--阅读历史文章体验不好. 我们知道爬取公众号的方式常见的有两种:通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章.通过微信公众号的素材管理,获取公众号 ...

  10. 50行python代码自动生成文章_50行Python代码,教你获取公众号全部文章

    > 本文首发自公众号:python3xxx 爬取公众号的方式常见的有两种 - 通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章 - 通过微信公众号的素材管理,获取公众号文章.缺点是需要申请自 ...

最新文章

  1. 搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)
  2. 使用最新版mysql 8.0.11会出现的一些问题
  3. 中科院分区 2020_2020中科院期刊分区出炉!文末附2020年中科院期刊分区基础版(全)...
  4. 多對多、單向一對多做ORM時最好用基于连接表的方式
  5. java定时器异常,定时任务异常 高手进
  6. 有味道的耳机!男子误食AirPods 排出后仍可正常使用
  7. 11行Python代码,盗取了室友的U盘内容
  8. doubango播放不均匀的问题及改进办法
  9. vivo发布OriginOS Ocean,国产定制系统越来越好了
  10. isight2019安装教程_DS SIMULIA Suite 2019 (Abaqus/Isight/Fe-safe/Tosca) Win/Linux x64
  11. Redis 官方可视化工具,高颜值,功能太强大!
  12. css loader.net,css-loader style-loader原理探究
  13. 品牌 read.php,优网科技高级程序员关于PHP优化知识分享
  14. 计算机系统无法启动 错误恢复怎么办,win7系统无法启动 安全模式也进入不了怎么办-win7启动失败,win7错误恢复无法开机...
  15. 了凡四训 第一篇《立命之学》
  16. C语言实现复数计算器
  17. 从零开始学习SFR-- 1.0
  18. 安天移动安全应对“DressCode”威胁,发布企业移动威胁检查工具
  19. STM32F407ZGT6|实现中断操作
  20. java毕业设计企业门户网站源码+lw文档+mybatis+系统+mysql数据库+调试

热门文章

  1. linux eqep驱动框架,【活动结束】《基于28377的伺服驱动系统调试》第一期/共......
  2. 详解百度地图API之驾车导航
  3. php怎么将农历转换成公历,PHP 实现公历日期与农历日期的互转换
  4. PHP命名空间 namespace 及 use 的用法
  5. FigDraw 8. SCI 文章绘图之饼图 (Pieplot)
  6. HDOJ1430魔板
  7. matlab学习五,二元函数绘图方法
  8. 【转载】django-数据库[ 配置 ]
  9. 网站被攻击的常见形式
  10. html表格怎么加图片,添加图片到HTML表格动态