PHP爬取糗事百科首页糗事
PHP爬取糗事百科首页糗事
突然想获取一些网上的数据来玩玩,因为有SAE的MySql数据库,让它在那呆着没有什么卵用!于是就开始用PHP编写一个爬取糗事百科首页糗事的小程序,数据都保存在MySql中,岂不是很好玩!
说干就干!首先确定思路
获取HTML源码--->解析HTML--->保存到数据库
没有什么难的
1、创建PHP文件“getDataToDB.php”,
2、获取指定URL的HTML源码
这里我用的是curl函数,详细内容参见PHP手册
代码为
<span new="" style="font-family:Times">// 获取对应链接的HTMLCODE function GetHtmlCode($url) { $ch = curl_init (); // 初始化一个cur对象 curl_setopt ( $ch, CURLOPT_URL, $url ); // 设置需要抓取的网页 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 设置crul参数,要求结果保存到字符串中还是输出到屏幕上 curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 1000 ); // 设置链接延迟 $HtmlCode = curl_exec ( $ch ); // 运行curl,请求网页 return $HtmlCode; }</span>
这里我没有能力使用正则表达式,就在网上海搜,终于找到这个,就像Java使用Jsoup(使用Jsoup解析滁州学院官网获取新闻列表)一样,具体参见BLOG
代码如下
<span new="" style="font-family:Times">function getFmlDataToDB() { $link = mysql_connect ( SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS ); // 获取源码 $html = str_get_html ( GetHtmlCode ( http://www.qiushibaike.com/ ) ); if ($link) { mysql_select_db ( SAE_MYSQL_DB, $link ); mysql_query ( 'set names utf8' ); // class=article block untagged mb15 foreach ( $html->find ( 'div[class=article block untagged mb15]' ) as $per ) { $z = null; $t = null; $w = null; $d = null; $p = null; $ds = null; $ps = null; // //作者 $author = $per->find ( 'div[class=author]' ); if ($author != null) { $a = $author [0]->find ( 'a' ); $z = $a [1]->innertext; } else { $z = 'no author'; } // 头像链接 if ($author != null) { $icon = $author [0]->find ( 'a' ); $t = $icon [0]->src->innertext; } else { $t = '...............'; } // 文章内容 $content = $per->find ( 'div[class=content]' ); $w = $content [0]->innertext; // 点赞数 $vote1 = $per->find ( 'div[class=stats]' ); $vote2 = $vote1 [0]->find ( 'span[class=stats-vote]' ); $vote3 = $vote2 [0]->find ( 'i[class=number]' ); $d = $vote3 [0]->innertext; // 评论数 $comments1 = $vote1 [0]->find ( 'span[class=stats-comments]' ); $comments2 = $comments1 [0]->find ( 'a[class=qiushi_comments]' ); $comments3 = $comments2 [0]->find ( 'i[class=number]' ); $p = $comments3 [0]->innertext; // 顶 数 $up_down = $per->find ( 'div[class=stats-buttons bar clearfix]' ); $up_down1 = $up_down [0]->find ( 'ul' ); $li = $up_down1 [0]->find ( 'li' ); $up = $li [0]->find ( 'span[class=number hidden]' ); $ds = $up [0]->innertext; // 拍 数 $down = $li [1]->find ( 'span[class=number hidden]' ); $ps = $down [0]->innertext; } } else { echo '数据库链接KO'; } }</span>
4、创建数据库,将数据插入到数据库中
这里我使用的SAE中的MySQL,具体的连接方发参见使用PHP连接SAE中的MySql数据库
需要注意的就是编码格式,区要在执行语句前加上这样一句话
<span style="font-family:Microsoft">mysql_query ( 'set names utf8' );</span>
<span style="font-family:Microsoft"> $sql = INSERT INTO `app_bmhjqs`.`db_fml` (`id`, `author`, `icon_url`, `content`, `vote`, `comments`, `up`, `down`) VALUES (NULL, '$z', '$t', '$w', '$d', '$p', '$ds', '$ps');; // 解决乱码 mysql_query ( 'set names utf8' ); $result = mysql_query ( $sql );</span>
这样一来,获取--->解析--->插入就完成了,效果就是运行一次PHP文件,数据库就添加了糗事百科首页上的糗事!我想可不可以写个定时器,每隔一定时间就运行一次代码,这一点在java我可以实现,在php我不会,毕竟是个没长毛的小鸟!百度吧。。。搜到这样的写法
<span new="" style="font-family:Times">// 定时器 // ignore_user_abort (); // run script. in background // set_time_limit ( 0 ); // run script. forever // $interval = 30; // do every 15 minutes.. // do { // echo date ( 'Y-m-d H:i:s', time () ); // echo '写入数据库'; // //getFmlDataToDB (); // } while ( true );</span>
今天早上,我迫不及待的打开电脑,打开SAE数据库,情况如下:
额滴神!受不鸟了,赶紧把定时器关掉了,写了个按钮触发事件!这样下去,数据库会被挤满的!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Google 크롬 홈페이지를 설정하는 방법은 무엇입니까? Google Chrome은 오늘날 가장 인기 있는 웹 브라우저 소프트웨어입니다. 이 브라우저는 간단하고 효율적인 기능을 갖추고 있습니다. 브라우저를 사용할 때 어떤 사람들은 브라우저를 다음과 같이 설정합니다. 기본 홈페이지로 설정되어 있고 홈페이지를 다른 검색 엔진으로 설정하고 싶어하는 사람들도 있는데 어디에서 설정해야 할까요? 다음으로, 편집기에서 Google 크롬 홈페이지를 설정하는 빠른 방법을 알려드리겠습니다. 도움이 되길 바랍니다. 구글 크롬 홈페이지를 빠르게 설정하는 방법 1. 구글 크롬을 엽니다(그림 참조). 2. 인터페이스 오른쪽 상단에 있는 메뉴 버튼을 클릭합니다(그림 참조). 3. "설정" 옵션을 선택하십시오(그림 참조). 4. 설정 메뉴에서 "검색 엔진"(예:

구글 크롬 홈페이지가 360으로 변경되면 어떻게 해야 하나요? Chrome은 간단하고 편리한 브라우저이지만, 많은 친구들이 사용 중에 단순한 홈페이지가 360 홈페이지로 바뀌었다는 사실을 알게 됩니다. 원래 스타일로 복원하려면 어떻게 설정해야 할까요? 아래에서 편집기는 Google 크롬 홈페이지를 복원하는 방법을 보여줍니다. 해결책: 1. 먼저 Google Chrome을 엽니다. 2. 기본값으로 변경하려면 오른쪽 상단에 있는 점 3개를 클릭하세요. 3. [설정]을 클릭하여 설정 페이지를 엽니다. 4. [시작]을 클릭하세요. 5. 그림과 같이 [특정 웹페이지 또는 웹페이지 그룹 열기] 여기에 360 내비게이션의 URL이 있습니다. 6. 360 내비게이션 오른쪽에 있는 점 3개를 클릭하세요. 7. [제거]를 클릭하세요.

홈 페이지 및 탐색 페이지를 위한 UniApp 설계 및 개발 방법 1. 소개 UniApp은 Vue.js 프레임워크를 기반으로 구축된 크로스 플랫폼 개발 도구로, 코드 세트를 컴파일하여 여러 플랫폼용 애플리케이션을 생성할 수 있습니다. UniApp에서 홈페이지와 네비게이션 페이지는 애플리케이션을 개발할 때 필요한 두 페이지입니다. 이 기사에서는 UniApp에서 이 두 페이지를 디자인하고 개발하는 방법을 소개하고 해당 코드 예제를 제공합니다. 2. 홈페이지 디자인 및 개발 방법 페이지 구조 UniApp의 홈페이지는 일반적으로 제목 표시줄, 캐러셀, 카테고리로 구성됩니다.

HTML 하위 페이지를 홈페이지로 반환하는 방법: 1. 하이퍼링크를 사용합니다. 2. JavaScript를 사용합니다. 3. 브라우저 기록을 사용합니다. 자세한 소개: 1. 하이퍼링크를 사용하고, 하위 페이지에 하이퍼링크를 추가하고, 이를 홈 페이지의 URL에 연결하고, 하위 페이지 하단 또는 탐색 표시줄에 "홈 페이지로 돌아가기" 링크를 추가합니다. "<a>" 태그를 사용하여 하이퍼링크를 생성하고, "href" 속성을 홈페이지 URL로 설정합니다. 2. JavaScript를 사용하여 JavaScript 코드 등을 통해 홈페이지로 돌아가는 기능을 구현합니다.

"모험 보물찾기 및 마왕 퇴치"는 서양 판타지를 배경으로 한 RogueLike 전쟁 게임입니다. 새로운 게임이 온라인에 등장했습니다. 홈페이지에 있는 4명의 NPC의 기능은 무엇입니까? 다음으로, 편집자는 "모험 보물찾기 및 마왕 토벌"에 있는 4가지 홈페이지 NPC 기능의 공유 목록을 가져올 것입니다. 모험 보물 찾기 및 악마 물리치기 홈페이지 NPC 기능은 4가지 홈페이지 NPC의 기능을 소개합니다: 1. 모험 그룹: 모험 그룹 업그레이드, 시즌 모험 그룹 업그레이드, 장비(배낭) 상한 업그레이드, 모험 후에는 기억하세요. 그렇지 않으면 그리드 공간을 차지하게 됩니다.) 캐릭터 수의 상한선을 업그레이드할 수 있습니다. (초기에는 캐릭터 슬롯이 8개만 있고 골든 캐릭터는 이를 초과할 수 있습니다.) 2. 트레이너: 훈련 캐릭터(보라색, 금색 훈련 가능), 업그레이드

360 브라우저 홈페이지는 어떻게 설정하나요? 360 브라우저는 매우 안전한 웹 브라우저 소프트웨어입니다. 이 브라우저는 많은 사용자가 업무에 이 브라우저를 사용하는 것을 좋아합니다. 360 브라우저의 홈페이지에는 매우 많은 콘텐츠가 포함되어 있습니다. 많은 사용자들이 단순한 홈페이지를 선호합니다. 그렇다면 360 브라우저의 홈페이지는 어떻게 설정해야 할까요? 다음으로 에디터가 360 브라우저 홈페이지 설정 방법을 소개해드리겠습니다. 360 브라우저 홈 페이지 설정 방법 소개 1. 먼저 360 Secure Browser의 기본 인터페이스에 들어가야 합니다(그림 참조). 2. 오른쪽 상단 모서리에 있는 "세 줄" 옵션을 클릭한 후 드롭다운 메뉴에 나타나는 "설정" 옵션을 클릭하여 설정 인터페이스로 들어갑니다.

홈페이지에서 캐러셀 기능을 갖춘 Java 스위치 식료품 쇼핑 시스템을 설계하는 방법 인터넷의 발전과 함께 사람들의 라이프스타일도 끊임없이 변화하고 있습니다. 점점 더 많은 사람들이 식료품을 포함하여 온라인 쇼핑을 선택하고 있습니다. 사용자의 요구를 충족시키기 위해 많은 식료품 쇼핑 플랫폼은 온라인 식료품 주문 기능을 출시했습니다. 이러한 플랫폼에서 홈페이지 캐러셀은 매우 중요한 기능 중 하나입니다. 이 기사에서는 홈페이지에서 캐러셀 기능을 갖춘 Java 스위치 식료품 쇼핑 시스템을 설계하는 방법을 소개합니다. 1. 기능적 요구사항 분석 홈페이지 캐러셀 기능을 설계하기 전에 먼저 분석하고 이해해야 합니다.

자연사 백과사전 Si Ling Shui Yuan의 답변은 게임 내 도전에 답하는 자연사 백과사전입니다. 그렇다면 이 답변 도전에 대한 답변은 무엇인가요? 오늘 편집자는 모든 사람을 위해 이 자연사 백과사전의 질문에 대한 답변을 정리하고 답변의 자세한 위치를 제공했습니다. 이는 귀하가 이 자연사 백과사전의 질문에 답변하는 과제를 더 잘 완료하는 데 도움이 될 수 있습니다. 자세한 내용은 이 글에서 보실 수 있습니다. 자연사백과사전과 사릉수원에 관한 모든 질문과 답변을 살펴보겠습니다. 콘도르박물관백과사전 질의응답 안내 1. 먼저 아래 사진과 같은 위치로 오세요. 2. 이곳에서 맹공이라는 캐릭터를 찾아 그와 대화를 나눈 뒤 실링수원 질의응답 챌린지에 참여할 수 있습니다. 1. Lingshui Yuan을 만든 사람은 누구입니까? 답 : [Wanyan Jing] 2. 공연 주최자가 다시 체포되었습니다.
