模拟网站下fetcher的内容和视频不一样
来源: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年自"}
我的代码是这样的:
func TestParserCityList(t *testing.T) {
contents, err := fetcher.Fetcher("http://www.zhenai.com/zhenghun")
//contents, err := ioutil.ReadFile("citylist_test_data.html")
if err != nil {
panic(err)
}
fmt.Printf("%s\n",contents)
fetcher的代码为
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)
}
//bodyReader := bufio.NewReader(resp.Body)
//bodyReader := bufio.NewReader(r).
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回答
-
能否具体描述下哪里不一样?我们确保对问题的理解是一致的
00
相似问题
珍爱网改动了,不能用原来的办法爬了
回答 2
用户解析器的问题
回答 1