在模拟相亲网站上fetcher下的html文件和视频中不一致

来源:15-6 测试CityListParser

AdamCorleone

2021-07-12

输出如下:

{"Time":"2021-07-12T20:28:13.3840733+08:00","Action":"run","Test":"TestParserCit
yList"}
{"Time":"2021-07-12T20:28:13.3968134+08:00","Action":"output","Test":"TestParser
CityList","Output":"=== RUN   TestParserCityList\n"}
{"Time":"2021-07-12T20:28:13.9547502+08:00","Action":"output","Test":"TestParser
CityList","Output":"iv\u003e\u003c/div\u003e\u003c/div\u003e \u003carticle class
=\"g-container\" style=\"display:;\" data-v-1573aa7c\u003e\u003cdiv class=\"memb
er-list\" data-v-1573aa7c\u003e\u003cdiv class=\"list-wrapper\" data-v-1573aa7c\
u003e\u003ch2 class=\"member-title\" data-v-1573aa7c\u003e最新女士征婚\u003c/h2\
u003e \u003cdiv class=\"left-wrapper\" data-v-1573aa7c\u003e\u003cdiv class=\"li
st-item\" data-v-1573aa7c\u003e\u003ca href=\"http://album.zhenai.com/u/10756291
8\" target=\"_blank\" data-v-1573aa7c\u003e\u003cimg src=\"https://photo.zastati
c.com/images/photo/26891/107562918/59701104276917162.jpg?scrop=1\u0026amp;crop=1
\u0026amp;w=50\u0026amp;h=50\u0026amp;cpos=north\" class=\"small-img\" data-v-15
73aa7c\u003e\u003c/a\u003e \u003cdiv class=\"item-info\" data-v-1573aa7c\u003e\u
003cp class=\"nick-name\" data-v-1573aa7c\u003e简单点\u003c/p\u003e \u003cp clas
s=\"introduce-content\" data-v-1573aa7c\u003e大家好!来到这里都需要认真对待,都
希望能遇到自己喜欢的,我是奔结婚去的,真诚比什么都重要,我不求大富大贵,只想简单
一点诚心诚意对待这才是我想要的,简简单单就足够了,希望遇见对的他,相互喜欢才最重
要,我真的希望2021年自"}

testing的代码为

func TestParserCityList(t *testing.T) {
   contents, err := fetcher.Fetcher("http://www.zhenai.com/zhenghun")
   if err != nil {
      panic(err)
   }
   //result := ParserCityList(contents)
   fmt.Printf("%s\n",contents)
fetcher.go的代码如下:
func Fetcher(url string) ([]byte,error ) {
   resp, err := http.Get(url)
   if err != nil {
      return nil,err
   }
   defer  resp.Body.Close()
   if resp.StatusCode != http.StatusOK {
      fmt.Println("Error:status code ",resp.StatusCode)
      return nil,fmt.Errorf("wrong status code: %d",resp.StatusCode)
   }
   e := determineEncoding(resp.Body)
   utf8Reader := transform.NewReader(resp.Body,e.NewDecoder())
   return ioutil.ReadAll(utf8Reader)
}
func determineEncoding(r io.Reader) encoding.Encoding{
   bytes, err := bufio.NewReader(r).Peek(1024)
   if err != nil {
      log.Printf("Fetcher error: %v ",err)
      return unicode.UTF8
   }
   e, _, _ := charset.DetermineEncoding(bytes, "")
   return e
}


写回答

1回答

ccmouse

2021-07-20

fetcher.Fetcher("http://www.zhenai.com/zhenghun")

这个地方地址改成模拟网站的地址。

0
1
AdamCorleone
非常感谢!
2021-07-21
共1条回复

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程