解读:Python 三国人物数据快速采集极简方法汇总

优采云 发布时间: 2022-10-15 14:16

  解读:Python 三国人物数据快速采集极简方法汇总

  作为数据分析师而不是开发工程师,你需要掌握爬虫的必要知识,才能获取所需的数据。如果您需要更多基于爬虫工程师的专业内容,请浏​​览“Scrapy爬虫框架”部分。

  以最基础的《三国志13》人物资料采集为例,了解和掌握基本的爬取技巧和资料整理技巧。

  整套自学课程应用的数据是《三国志》和《三国无双》系列游戏的内容。

  数据目标

  将军的看法 - 三国志13指南 Wiki

  我们想在这个页面上获取所有的一般数据信息。

  使用爬虫请求有几种基本方法

  """例"""

from urllib import request

response = request.urlopen(r'https://sangokushi13wiki.wiki.fc2.com/wiki/%E6%AD%A6%E5%B0%86%E4%B8%80%E8%A6%A7')

#返回状态 200证明访问成功

print("返回状态码: "+str(response.status))

返回状态码: 200

  请求静态页面数据获取

  静态网页的URL形式通常以.htm、.html、.shtml、.xml等为后缀,一般来说是最简单的HTML页面,服务端和客户端是一样的。在 HTML 格式的网页上还可以出现各种动态效果,例如 GIF 格式的*敏*感*词*、FLASH、滚动字母等,这些动态效果只是视觉上的。

  我们本地爬取的目标是静态页面。

  使用request()封装请求,然后通过urlopen()获取页面,俗称伪装。让服务器知道我们正在通过浏览器访问页面,有些情况下可能会直接被杀掉。

  # 加载第三方使用插件和基础配置

import requests

from bs4 import BeautifulSoup

import pandas as pd

import random

import warnings

warnings.filterwarnings("ignore")

# 浏览器 header

USER_AGENT_LIST = [

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",

"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1",

"Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",

<p>

]

# 使用本地代理 可以使用也可以不使用

proxies = {

"http": "http://127.0.0.1:19180",

"https": "https://127.0.0.1:19180"

}

headers = {

"User-Agent":random.choice(USER_AGENT_LIST),

}

# https://sangokushi13wiki.wiki.fc2.com/wiki/武将一覧

url = "https://sangokushi13wiki.wiki.fc2.com/wiki/%E6%AD%A6%E5%B0%86%E4%B8%80%E8%A6%A7"

html = requests.get(url,headers=headers,proxies=proxies,verify=False)

soup = BeautifulSoup(html.text,"lxml")

soup

</p>

  请求动态页面数据获取

  动态网页后缀有.asp、.jsp、.php、.perl、.cgi等形式。动态网页与网页上的各种*敏*感*词*、滚动字幕等视觉动态效果没有直接关系。动态网页也可以是纯文本内容或收录各种*敏*感*词*。这些只是网页具体内容的表现形式。,无论网页是否具有动态效果,通过动态网站技术生成的网页都称为动态网页。动态网站也可以采用动静结合的原则。适合在使用动态网页的地方使用动态网页。如果需要使用静态网页,可以考虑使用静态网页来实现。在同一个 网站

  import requests

from bs4 import BeautifulSoup

url = "http://news.cqcoal.com/blank/nl.jsp?tid=238"

html = requests.get(url)

soup = BeautifulSoup(html.text,"lxml")

soup.text

  

  爬取网页,看不到任何信息,证明是动态网页。正确的爬取方法如下。

  import urllib

import urllib.request

import requests

url = "http://news.cqcoal.com/manage/newsaction.do?method:webListPageNewsArchivesByTypeid"

post_param = {&#39;pageNum&#39;:&#39;1&#39;,\

&#39;pageSize&#39;:&#39;20&#39;,\

&#39;jsonStr&#39;:&#39;{"typeid":"238"}&#39;}

return_data = requests.post(url,data =post_param)

content=return_data.text

content

  总结一下:如果页面内容发生变化,URL也会发生变化。基本上,它是一个静态网页,反之亦然是一个动态网页。

  请求异常处理

  from urllib.request import Request, urlopen

from urllib.error import URLError, HTTPError

req = Request("http://www.111cn.net/")

try:

response = urlopen(req)

except HTTPError as e:

print(&#39;服务器无法满足请求.&#39;)

print(&#39;错误代码: &#39;, e.code)

except URLError as e:

print(&#39;不能访问服务器.&#39;)

print(&#39;原因: &#39;, e.reason)

else:

print("OK!")

print(response.read().decode("utf8"))

不能访问服务器.

原因: [Errno 11001] getaddrinfo failed

  解读:王通:SEO算法演变与破解

  我喜欢把复杂的事情简单化,所以我只分享最重要的四点:

  1. 内容质量控制

  2.关键词的布局

  3.链接结构优化

  4.浏览轨迹优化

  2-1。内容质量控制

  内容质量控制始终是搜索引擎算法的首要目标。什么样的内容会吸引搜索引擎?

  答:自然会吸引用户到搜索引擎!从SEO的角度来看,网站的内容和编辑如何规划?

  1. 原创 内容的性质:

  搜索引擎最喜欢原创 内容,但是搜索引擎如何判断原创 内容呢?简单分析,结果自然会有。

  A. 如果你的 网站 有内容,而其他的 网站 没有,那么它就是你的 原创。

  B、你的网站有一些内容,其他的网站也有,那么搜索引擎需要分析,可以从收录的时间开始,&lt;中的链接文章 等,只做分析判断。

  在这方面,谷歌比百度要好,而百度还是有网站权重高的优势。

  2、内容格式丰富:

  纯文本的内容肯定不如图文出名,同时非网页格式的文档在搜索结果的排名上也有优势。比如无论你在谷歌还是百度搜索:SEO期刊都是直接排在PDF文档前面的。

  3、内容转发次数:

  百度推出了“百度分享”功能,直接统计一个网页的分享次数,在一定程度上可以作为一个网页热度的重要因素。

  4. 对网站内容评分:

  我们在谷歌上搜索的时候,经常会发现谷歌已经抓取了用户最想看的所有内容,甚至“星评”都被索引了。

  对排名非常不利的内容策略:

  1. 网站中有​​大量重复内容

  

  2、网站的内容是纯采集

  3.内容更新频率波动太大

  2-2。关键词 的布局

  一个网页应该在6个地方合理出现关键词,这样关键词在网页中出现的频率就会非常自然合理。这6个地方是:

  1. 标题

  2.元

  3. H1

  4.乙

  5. 替代

  6.链接

  2-3。链接结构优化

  搜索引擎蜘蛛对网页的爬取总是依赖于超链接的爬取,所以链接结构优化主要分为两部分:

  1.建立外部链接

  2.内链优化

  2-4。浏览轨迹优化

  任何关注百度的人都会发现,百度的广告越来越聪明,尤其是百度联盟广告。它不再根据网页内容匹配广告,而是根据用户浏览行为展示吸引用户的广告。这说明了一个重要的问题,百度要记录和分析用户的浏览轨迹。

  然后,从浏览行为分析的角度,也可以判断网页的热度。

  例如:

  1. 跳出率

  2.浏览时间

  3. 浏览深度

  4.点击率

  

  5. 其他行为

  是可以判断的。上一段我做了一个测试,后来证明这方面确实对排名有影响。

  从2007年到2016年,我讲了10年的SEO,共进行了100场培训。上次培训的价格是每人27800,然后我就停了这门课。

  最近,很多人还是想学SEO。为了响应同学们的要求,我特地开设了【SEO赚钱培训微信班】

  1. SEO算法破解:

  教你快速分析任何搜索引擎算法的思路,快速破解算法。

  2.高级SEO策略

  教大家一起使用搜索引擎排名的算法规则,整合创意策略做SEO,从而实现长期排名。

  3.如何通过SEO赚钱

  学习方法的目的是为了赚钱,所以同时我会传授三种利用SEO快速赚钱的方法和思路,并提供超值的模板。

  如果按照之前的规则,新的阶段应该是28,800

  不过为了让更多人学习,只收5000元/人

  付款后请联系我的助理:tongwang009 将立即赠送以下珍贵礼物:

  1.《SEO赚钱秘籍》电子书

  2.《手机网站SEO教程》电子书

  3.《网站诊断分析报告》模板

  4.《网站优化执行计划》模板

  价值巨大,不用多说。课程结束后,微信社区将提供长期支持!

  课程时间:国庆期间抽出1~2晚在微信群上课,让讲课记录长期保存,讲课讲课不受时空限制。

  学习绝活,关注童哥

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线